日期:2012-02-24  浏览次数:20681 次

关于wordpress 3.1升级至首页重定向循环原因可能是: wp-include/template-loader.php 文件头部的如下代码导致的。

if ( defined(%u2018WP_USE_THEMES%u2019) && WP_USE_THEMES )
do_action(%u2018template_redirect%u2019);

解决办法就是将这段的代码删除掉,首页可以正常访问了。

关于3.1的重定向:
为什么 wordpress 要加以上代码让所有页面都做一次模板判断跳转?Turn Off WordPress Homepage URL Redirection 给出了答案,是 wordpress 针对一个页面存在多个网址的SEO优化。比如

•http://**.net
•http://**.net/index.php
•http://www.**.net
•http://www.**.net/index.php

上面这几个网址都是指向博客首页,但对于搜索引擎来说是存在相同页面内容的多个URL,不利于SEO。于是wordpress引入了Canonical URL Redirection技术,将多个网址重定向到其中一个网址上,也便是上面所看到代码的功能。实际起作用的代码位于wp-includes/canonical.php的redirect_canonical()函数中,有兴趣的同学可认真研究一下。