不得言一个新想法,就把坚持三年的因精力不再打理的老村长博客,做了简单的备份后彻底地删除了——真实作孽。当我即将要将利用此域名并借助朋友的帮助“大展宏图”时,没想到出师未捷身先死,大字还没有一横的时候,却出了一个丈二和尚摸不着头脑的问题。
因对Wordpress博客较为熟悉,它友好的所见即所得编辑器成了平台的最佳选择。但在安装Wordpress3.1时出了问题,后台操作、数据库等一切正常,首页IE无法打开,用Firefox出现循环重定向错误提示。
如右上图,在Firefox中打开域名时,经过几十秒的等待出现下面错误。我尝试通过清理Cookie、重启IIS、重装Wordpress3.1等都没能解决。
- 此页面重定向不正确
- Firefox 检测到该服务器正在将此地址的请求循环重定向。
- 此问题可能是因为禁用或拒绝 Cookie 导致。
WordPress3.1循环重定向错误猜想
我想到了一个问题。打开Wordpress博客时,程序会检测wp-config.php文件是否存在。如果存在将尝试根据配置文件调用数据库,显示网站——排除其他因素,这是网站能正常打开;如果没有,则跳转到安装提示页,安装完毕后,方可正常访问。
我的擦想:问题极可能出现在这里,Wordpress是否会设置一个参数X,用于确定安装是否完毕。值为1表示已安装;值为0表示未安装或因其他原因需重新安装。默认X为0,成功安装后X变成1,同时把安装页设置跳转到首页。
问题来了,如果0变1失败(比如说因为文件写入错误),访问时,X为0于是系统跳转到安装页提示用户安装,,但这时安装页是被设置跳转到首页的。于是你推给我我推给你。在这来回折腾中,Firefox不耐烦了,恼了,给用户循环重定向错误提示。
很遗憾,这种办法我无法确定是否真实——通过对比安装成功的博客文件,我没能把猜想变为现实。附不得言从网上查到的资料:
WordPress3.1循环重定向错误解决办法
Anando给出了两种解决办法。分别是修改wp-include下的/template-loader.php文件或canonical.php文件。修改起来并不复杂,缺点是内核文件改动,以后升级务必注意。官方没有给出解决办法,于是只好采用这个办法。
循环重定向解决方法一
找到wp-include文件夹下的template-loader.php文件,使用/**代码**/注释掉第六行和第七行。
1 |
if ( defined( 'WP_USE_THEMES' ) && WP_USE_THEMES ) |
2 |
do_action( 'template_redirect' ); |
循环重定向解决方法二
通过给do_redirect赋值解决wordpress循环重定向
找到wp-include文件夹下的canonical.php文件,使用//注释掉第37行。另起一行加入下面代码。其实也就是把变量$do_redirect的值修改为false。
1 |
function redirect_canonical( $requested_url = null, $do_redirect = false ) { |
循环重定向解决方法三
找到您的当前主题文件夹下的functions.php文件,在最后加上下面一行代码:
1 |
remove_filter( 'template_redirect' , 'redirect_canonical' ); |
循环重定向解决方法四
插件办法,下载Permalink Fix & Disable Canonical Redirects Pack安装上就ok。