wordpress关键词404处理方法

wordpress关键词404处理方法

作者:明星 |  时间:2013-03-13 |  浏览:3184 |  1 条评论

相信这个错误应该是很多同学都出现过的,当我点击中文的tag的时候,出现了“该页无法访问”或404错误,开始百思不得其解,以为是伪静态出问题了,但是所有的固定连接都是正常的,于是想到是不是中文tag的编码问题,就开始到网上找答案,下面为大家一一介绍。

方法一:在文件中找到如下代码,首先备份你的WordPress/wp-includes/rewrite.php文件,以防修改出错。然后打开rewrite.php寻找如下代码:

function get_tag_permastruct() {

if (isset($this->tag_structure)) {

return $this->tag_structure;

}

if (empty($this->permalink_structure)) {

$this->tag_structure = ”;

return false;

}

if (empty($this->tag_base))

$this->tag_structure = $this->front . ‘tag/’;

else

$this->tag_structure = $this->tag_base . ‘/’;

$this->tag_structure .= ‘%tag%’;

return $this->tag_structure;

并将其中的if (!empty($this->permalink_structure)) {

修改为if (! empty($this->permalink_structure)) {

注意只加了一个英文!号,经测试,本人使用了这种方法产生了效果。

方法二:

打开wp-includes/classes.php文件,

if ( isset($_SERVER['PATH_INFO']) )

$pathinfo = $_SERVER['PATH_INFO'];

else

$pathinfo = ”;

$pathinfo_array = explode(‘?’, $pathinfo);

$pathinfo = str_replace(“%”, “%25″, $pathinfo_array[0]);

$req_uri = $_SERVER['REQUEST_URI'];

修改为:

if ( isset($_SERVER['PATH_INFO']) )

$pathinfo = mb_convert_encoding($_SERVER['PATH_INFO'], “UTF-8″, “GBK”);

else

$pathinfo = ”;

$pathinfo_array = explode(‘?’, $pathinfo);

$pathinfo = str_replace(“%”, “%25″, $pathinfo_array[0]);

$req_uri = mb_convert_encoding($_SERVER['REQUEST_URI'], “UTF-8″, “GBK”);

还有一种方法是这个方法也是最后解决中文TAG 404错误的方法,其实说到底就是ISAPI_Rewrite伪静态的规则没有写好才导致找不到网页文件的。其实就是更改一下规则就可以了:

明星的博客之前的tag伪静态的规则

RewriteRule /tag/(.*)$ /index\.php\?tag=$1

更改后的规则

RewriteRule /tag/(.*)/$ /index\.php\?tag=$1

其实就是在/tag/(.*)$代码中的$字符加一个/就可以了,原因暂时还没有分析出来,因为之前一直觉得加没加意思是一样的。

相关推荐
更多

  1. 我的名字叫麒 2013-3-16 11:41 #1

    占个沙发,看不懂代码!