win+IIS WordPress 3.5版 4.0版如何解决中文TAG标签不支持404错误的问题?

最近发现用wordpress做的博客中文TAG都不好用,点击后是404错误,在网上找了一些方法,尝试后都不行,最后总算解决,分享出一些经验希望对大家有所帮助。

1、大部分百度的教程都是3.5以前版本的,针对3.5并不是好用的。

2、关于加!的方法 ,

打开 wp-includes/rewrite.php,找到第1000行,【3.5版本在1039行】把:

if ( empty($this->permalink_structure) )
注意:此文件下有很多的“if ( empty($this->permalink_structure) )”,需修改的是位于第1000行,“function get_extra_permastruct($name)”函数下的那一个。

替换为:

if ( !empty($this->permalink_structure) )【其实就是用“!”屏蔽了错误】
注意:别用windows自带的记事本修改(推荐UltraEdit,Dreamweaver等)。

经过实践,这个方法我测试后,只能消除404错误,但无法根据TAG找出相关的教程。

3、伪静态规则方式测试——以及修改rewrite文件,经测试都没实现正确访问

4、最终测试有效的方法是:

修改wp-include中的class-wp.php

wodpress 3.5文件是class-wp.php 之前的版本可能是classes.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”);

对于4.0版:感谢非常无聊提供

1.查找代码:

$pathinfo = isset( $_SERVER[‘PATH_INFO’] ) ? $_SERVER[‘PATH_INFO’] : ”;

找到后在前面加上双斜杠//注释掉,注释掉后的效果:

  1. //因为中文标签404显示做的修改。
  2. //$pathinfo = isset( $_SERVER[‘PATH_INFO’] ) ? $_SERVER[‘PATH_INFO’] : ”;

再罗嗦一句,大家在修改代码的时候一定要像(1)一样做好标记,方便你想改回去的时候不用再四处查找咯!

2、特别提醒,在网上搜解决方案的时候找到很多早版本相同问题的解决方案,里面还有一条是要修改下面的代码:

$req_uri $_SERVER['REQUEST_URI'];

在此提醒本条不用修改也不要注释,修改了会报错,注释了你点任何标签都会返回首页。

3、至此整个修改完成,保存文件或者是上传覆盖,Enjoy!


砚台酪-网站建设,微信公众号/小程序开发,网络营销推广,短视频营销 » win+IIS WordPress 3.5版 4.0版如何解决中文TAG标签不支持404错误的问题?