A-A+

WordPress中文链接无法打开/返回404错误的解决办法

2014年05月24日 PHP开源系统 评论 14 条 阅读 419 views 次

根据网上找的资料给自己的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') );

将修改好的代码上传到空间,大功告成!中文目录完美访问,包括带空格都木有问题了。

标签:

14 条留言  访客:14 条  博主:0 条

  1. leeyafei86

    这个方案可行了。

  2. 123

    没反应 和以前一样~

  3. 惠州期货网

    我的按照这个方法弄好了,多谢

  4. 冰雨上世纪

    不行,更改以后网站都打不开了

  5. 那些破事儿

    没用过

  6. 李明

    不错,一定要收藏备用,谢谢了。

  7. 上进的流氓博客

    你这评论又出来了,前几天怎么没有了啊

    • smiling

      前几天关闭了,最近开启了。

  8. 恋羽

    我坚信这个方案是错误的。

    • smiling

      浏览器不支持直接带有中文URL的传参。

  9. 源码窝

    静态好还是伪静态好

    • smiling

      如果能纯静态那是最好的。

  10. 悦食小铺

    好实用的文章

  11. BET365

    很有用,以后会用到

给我留言