Skip to main content

wordpress 中文标题/标签 404

搭建WordPress,版本4.3, 发现点击中文标题和中文标签的固定连接都会报页面找不到的错误,google/baidu了很久,大部分的解决方法都是改下边的代码:

打开wp-include中的classes.php文件

[php]
//$pathinfo = $_SERVER[‘PATH_INFO’];
$pathinfo = mb_convert_encoding($_SERVER[‘PATH_INFO’], "UTF-8", "GBK");

//$req_uri = $_SERVER[‘REQUEST_URI’];
$req_uri = mb_convert_encoding($_SERVER[‘REQUEST_URI’], "UTF-8", "GBK");
[/php]

但是经过测试,我发现并没有解决问题,于是从源代码入手,debug我发现我的文章(地址是:http://localhost/index.php/2016/03/14/%E6%B5%8B%E8%AF%95/),

PATH_INFO=”/2016/03/14/测试/”,但是REQUEST_URI=”/index.php/2016/03/14/%e6%b5%8b%e8%af%95/”,

说明编码是UTF8格式,但是REQUEST_URI并没有经过编码,而是进行了URL encode,通过下边的网址可以证明。

UrlEncode编码/解码

找到原因,就很好解决了。下边是需要改的代码:

classes.php文件

[php]
list ( $req_uri ) = explode ( ‘?’, urldecode ( $_SERVER [‘REQUEST_URI’] ) );
[/php]

在 “wordpress 中文标题/标签 404” 上有 2 条评论

发表评论

电子邮件地址不会被公开。