使用国内的主机的一大杯具就是要给自己博客做伪静态还要委托那些技术不怎么样的空间技术人员。而国内的空间服务商之差实在是难以想象,比如他会突然给你断网2-3天,不是维修就是搬机房,然后你用了几个月的404页面突然不能使用了。再几经周折后终于让空间服务商帮我的博客设置好伪静态。今天看了下谷歌网站管理工具,竟然有60多个死链接,一看原来所有中文TAG都无法访问,杯具啊!于是网上找了下WordPress中文TAG伪静态无法访问解决办法,原来是编码问题。
产生这个问题的主要原因是地址编码问题,及UTF-8和GBK之间转换的问题。IIS 对 URL 截取的时候取得的是 GBK 编码,但是 WordPress 中文都用的 UTF-8 编码,所以我们要对编码进行处理后再交给数据库进行查询。
转换编码解决 WordPress 中文 Tag 链接问题(推荐)
打开文件:wp-includes\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");
保存,上传,问题解决。
我试了这个方法,也不行!
你用的WP版本是多少?