多语言展示
当前在线:1744今日阅读:155今日分享:35

WP博客的中文Tag出现蜘蛛抓取404错误怎么办?

WordPress搭建的博客或网站常出现一个问题就是中文tag链接不存在,google管理员工具提示抓取404错误,特别是Windows主机常出现中文标签链接抓取错误,中文标签不能正常显示,中文Tag在URL中显示乱码。这个怎么解决呢?
工具/原料

class-wp.php文件

步骤/方法
1

首先找到出现404错误的页面,确定是所有tag出现问题还是只有中文tag出现问题

2

第二步,根据出现的404页面可以发现只有中文标签会出现乱码现象,于是可以通过转换编码的方法来进行解决,主要原理是,IIS会将PathInfo中的UTF-8转换成GBK,QueryString中就不会转换,故而为了使用Permalink。

3

第三步,在网站的根目录下找到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'];

4

第四步,把上面这段代码修改为下面这段代码  1.if ( isset($_SERVER['PATH_INFO']) )  2.$pathinfo = mb_convert_encoding($_SERVER['PATH_INFO'], 'UTF-8', 'GBK');  3.else  4.$pathinfo = '';  5.$pathinfo_array = explode('?', $pathinfo);  6.$pathinfo = str_replace('%', '%25', $pathinfo_array[0]);  7.$req_uri = mb_convert_encoding($_SERVER['REQUEST_URI'], 'UTF-8', 'GBK');

5

最后,测试一下网页上原来的中文Tag是否还出现URL乱码。

注意事项

这种方法只适合于win主机,必须是Windows下的IIS主机才有效。

推荐信息