A-A+
WordPress中文链接无法打开/返回404错误的解决办法
根据网上找的资料给自己的wordpress站点搞了伪静态,并定义了固定连接的格式。参见我的上一篇博文【设置wordpress伪静态】。这时问题出现了,因为通过标签点击检索的url中带有中文目录导致404无法找到网页,找度娘一搜网上很多类似的案例,下面是我测试通过的解决方案:
首先找到wordpress的wp-includes目录下-》class-wp.php文件(注:我用的是3.8.1的版本,看网上其他人解决方案中写到3.1之前的版本是wp-include/classes.php文件),进行如下修改即可
1.将第153行的
$pathinfo = isset( $_SERVER['PATH_INFO'] ) ? $_SERVER['PATH_INFO'] : ''; 改为:
$pathinfo = isset( $_SERVER['PATH_INFO'] ) ? mb_convert_encoding($_SERVER['PATH_INFO'], 'UTF-8', 'GBK') : '';
2. 将157行的
list( $req_uri ) = explode( '?', $_SERVER['REQUEST_URI'] ); 改为:
list( $req_uri ) = explode( '?', mb_convert_encoding($_SERVER['REQUEST_URI'], 'UTF-8', 'GBK') );
将修改好的代码上传到空间,大功告成!中文目录完美访问,包括带空格都木有问题了。
这个方案可行了。
没反应 和以前一样~
我的按照这个方法弄好了,多谢
不行,更改以后网站都打不开了
没用过
不错,一定要收藏备用,谢谢了。
你这评论又出来了,前几天怎么没有了啊
前几天关闭了,最近开启了。
我坚信这个方案是错误的。
浏览器不支持直接带有中文URL的传参。
静态好还是伪静态好
如果能纯静态那是最好的。
好实用的文章
很有用,以后会用到