好得很程序员自学网

<tfoot draggable='sEl'></tfoot>

WordPress不支持中文tag标签链接解决办法 - WordPre

WordPress不支持中文tag标签链接解决办法

wordpress不支持中文标签的原因是因为编码问题,我们只要把编码转换在gbk就可以解决了,但想完美解决我们可以尝试使用url rewrite来实例.

首先,产生中文tag链接无法打开或者找不到博客文章的原因在于WordPress不支持中文的编码,那我们就需要强制让WordPress能支持中文的编码形式,即UTF-8和GBK编码。

修改方法,首先修改WP-include中的classes.php文件(需要使用用专门的PHP编辑器工具,推荐EditPlus),将第47行和第52行代码进行修改.

第47行原代码:

$pathinfo = $_SERVER['PATH_INFO'];

替换为:

$pathinfo = mb_convert_encoding($_SERVER['PATH_INFO'], [UTF-8[, [GBK[);

第52行原代码:

$req_uri = $_SERVER['REQUEST_URI'];

替换为:

$req_uri = mb_convert_encoding($_SERVER['REQUEST_URI'], [UTF-8[, [GBK[);

修改后,保存下,然后将保存后的classes.php文件上传并覆盖原文件即可.

另一种办法

以下是wordpress 3.3的修改方法,(3.5版本的也通用的,不过代码是在1039行)

此方法只针对Windows服务器,Linux未测试过。

打开 wp-includes/rewrite.php,找到第1000行,【3.5版本在1039行】把:

if ( empty($this->permalink_structure) )

注意: 此文件下有很多的[if ( empty($this->permalink_structure) )],需修改的是位于第1000行,[function get_extra_permastruct($name)]函数下的那一个,替换为:

if ( !empty($this->permalink_structure) )【

其实就是用[!]屏蔽了错误】

注意: 别用windows自带的记事本修改(推荐UltraEdit,Dreamweaver等)。

IIS上不能支持中文

在网上看了几种解决方案,不过鄙人还是比较支持IIS对中文url解析的问题,找到问题,修改起来就快多了.

打开wp-includesclasses.php文件,找到旧代码:

if  ( isset( $_SERVER [ 'PATH_INFO' ]) )  $pathinfo  =  $_SERVER [ 'PATH_INFO' ];  else   $pathinfo  = ];  $pathinfo_array  =  explode (‘?’,  $pathinfo );  $pathinfo  =  str_replace ([%], [%25″,  $pathinfo_array [0]);  $req_uri  =  $_SERVER [ 'REQUEST_URI' ]; 

改成以下如下代码:

if  ( isset( $_SERVER [ 'PATH_INFO' ]) )  $pathinfo  = mb_convert_encoding( $_SERVER [ 'PATH_INFO' ], [UTF-8″, [GBK]);  else   $pathinfo  = ];  $pathinfo_array  =  explode (‘?’,  $pathinfo );  $pathinfo  =  str_replace ([%], [%25″,  $pathinfo_array [0]);  8. $req_uri  = mb_convert_encoding( $_SERVER [ 'REQUEST_URI' ], [UTF-8″, [GBK]); 

查看更多关于WordPress不支持中文tag标签链接解决办法 - WordPre的详细内容...

  阅读:65次