WordPress是世界上最受欢迎的,最流行的博客系统,不过WordPress在中文支持上还存在不少问题,为此许多国内技术高手专门开发了基 于中文的WordPress插件。但是,WordPress在中文支持方面还是有许多问题没有解决。
比如WordPress中文标签链接打不开,提示“错误 404 – 文件未找到”。
产生中文TAG标签链接无法打开的原因在于WordPress不支持中文的编码。
那我们就需要让WordPress能支持中文的编码形式,也就是UTF-8和GBK编码。
操作步骤:
打开wp-include中的classes.php文件,找到以下两处代码进行修改。
第154行原代码:
- $pathinfo = $_SERVER[‘PATH_INFO’];
替换为:
- $pathinfo = mb_convert_encoding($_SERVER[‘PATH_INFO’], “UTF-8″, “GBK”);
第159行原代码:
$req_uri = $_SERVER['REQUEST_URI'];
替换为:
- $req_uri = mb_convert_encoding($_SERVER[‘REQUEST_URI’], “UTF-8”, “GBK”);
修改好了之后,保存,然后将保存后的classes.php文件上传到服务器并覆盖原文件即可。
再点击中文标签看看,是不是不在提示404,就可以打开了?
方法二:修改wp-includes/rewrite.php
这是网上最常见的方法,原理是,让WordPress在对其他内容使用Permalink的时候,对tag不使用,而使用链接2的QueryString模式发送中文编码:
- function get_extra_permastruct($name) {
- if ( emptyempty($this->permalink_structure) )
- return false;
- if ( isset($this->extra_permastructs[$name]) )
- return $this->extra_permastructs[$name][0];
- return false;
- }
把
- if ( emptyempty($this->permalink_structure) )
改为
- if ( !emptyempty($this->permalink_structure) )
流云小石