导读:昨天自己做了一个 WordPress 的微博, 我就为了优化把路径改成了伪静态, 之后就出现了 WordPress 静态化后中文 tag 链接找不到, 进入 404 界面, 无法打开...

昨天自己做了一个 WordPress 的微博, 我就为了优化把路径改成了伪静态, 之后就出现了 WordPress 静态化后中文 tag 链接找不到, 进入 404 界面, 无法打开, 后来找到了解决办法。

具体步骤如下:

修改网站 /wp-includes/class-wp.php 中如下代码:

  1. if ( isset($_SERVER['PATH_INFO']) ) 
  2. $pathinfo = $_SERVER['PATH_INFO']; 
  3. else
  4. $pathinfo = ''
  5. $pathinfo_array = explode('?'$pathinfo); 
  6. $pathinfo = str_replace("%""%25"$pathinfo_array[0]); 
  7. $req_uri = $_SERVER['REQUEST_URI']; 
  8. if ( isset($_SERVER['PATH_INFO']) ) 
  9. $pathinfo = mb_convert_encoding($_SERVER['PATH_INFO'], 'utf-8''GBK');
  10. else
  11. $pathinfo = 」; 
  12. $pathinfo_array = explode('?'$pathinfo); 
  13. $pathinfo = str_replace("%""%25"$pathinfo_array[0]); 
  14. $req_uri = mb_convert_encoding($_SERVER['REQUEST_URI'], 'utf-8''GBK'); 

即可, 其实我们总结一下就是:

查找:$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」); 即可了.