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’] : ”;
找到后在前面加上双斜杠//注释掉,注释掉后的效果:
- //因为中文标签404显示做的修改。
- //$pathinfo = isset( $_SERVER[‘PATH_INFO’] ) ? $_SERVER[‘PATH_INFO’] : ”;
再罗嗦一句,大家在修改代码的时候一定要像(1)一样做好标记,方便你想改回去的时候不用再四处查找咯!
2、特别提醒,在网上搜解决方案的时候找到很多早版本相同问题的解决方案,里面还有一条是要修改下面的代码:
$req_uri
=
$_SERVER
[
'REQUEST_URI'
];
在此提醒本条不用修改也不要注释,修改了会报错,注释了你点任何标签都会返回首页。
3、至此整个修改完成,保存文件或者是上传覆盖,Enjoy!
其他事微信:93547942 协助处理。
砚台酪-18年专业互联网服务咨询 » win+IIS WordPress 3.5版 4.0版如何解决中文TAG标签不支持404错误的问题?