上次解决了如何去除WordPress的URL中的index.php又出现中文的tag词打开后无法找到页面,显示404报错新问题,win主机的中文版真是各种问题不断啊。
中文的tag词打开后无法找到页面,显示404报错,烦躁。下面讲一下解决的过程,有三种解决办法,大家可以根据自己的情况更改,如果三种方法都无效,可以更换个主题试试,我开始就是主题导致的各种方法都不行,换了个主题后就好了:
1.手动将每个中文标签(tag)词的URL更改为英文的方式,但是这样对于tag词比较少的网站可
以,如果很多的话,太麻烦了,我不想每次都去一个一个改,放弃这种办法。
2.针对Win服务器
打开 wp-includes/rewrite.php,找到第1039行,把:
if ( empty($this->permalink_structure) )
注意:此文件下有很多的“if ( empty($this->permalink_structure) )”,需修改的是位于第1039行,“function get_extra_permastruct($name)”函数下的那一个。
替换为:
if ( !empty($this->permalink_structure) )
注意:别用windows自带的记事本修改(推荐UltraEdit,Dreamweaver等)。
这样出现的tag url是http://www.leranl.com/?tag=%e4%b8%ad%e6%96%87%e6%a0%87%e7%ad%be这种形式,中间有个?,感觉对搜索引擎不友好,会影响tag词的收录,同样放弃这个方法。
3.转换编码解决 WordPress 中文 Tag 链接问题(推荐)
打开文件:wp-includes\classes.php ,wordpress 3.+ 版本是 wp-includes\classe-wp.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");
保存,上传,问题解决啦^-^