关于 WordPress 管理后台出现产生过多重定向问题,笔者昨天第一次遇到。具体表现是管理员及用户无法登录后台,貌似出现了无限循环或根本无法跳转。我们都知道在用户没有登录的时候,你输入登录如你的域名/wp-admin 或 wp-login.php 时,只有用户名和密码正确,就会重定向到 worpress 后台 (默认情况下),但是笔者接触到一个网站的情况是下面的情况如图 (谷歌浏览器浏览):
这个问题显然阻止了 WordPress 的重定向继续执行。经过一番搜索及分析,下面几点值得大家参考:
一、对于网站迁移最容易出现这个问题
如果你是对网站迁移如从一个服务器迁移到另一个服务器并且域名不同的话,而迁移完后,原来的服务器解析停止,那么这个问题的出现极大可能是你的网站域名及站点地址没有正确的修改导致的。或者从本地迁移到服务器也会出现这个问题。解决办法就是登录数据库,找到 wp_options->option_name 里,修改现在的域名即可。
二、过期的插件导致的
在 WordPress 插件库里,有很多不再更新的插件,随着 WordPress 版本的不断升级,很多插件都没有及时的跟进。从而导致 WordPress 后台出现了重定向的问题。这个解决办法是通过 ftp 登录网站安装目录,进入插件目录,把插件目录重命名,然后新建一个插件目录,名字后以前的目录名一样,只不过里面是空的。这时你一般就可以登录了。然后依次启用插件,排查问题。
三、全新安装的 WordPress 为什么也会有这个问题
笔者遇到的就是全新安装的 WordPress,但是也出现了这个问题。这有点让人费解。但是这可以肯定的告诉各位,这是服务器配置导致的。实际上这不仅仅限于 WordPress,其它的网站系统也遇到这个问题。有人分析的服务器防火墙错判,或服务器安全配置太高等。不管什么原因,如果没有服务器的权限,要从服务器本身去解决问题,是比较难的。下面提供两个方法:
1 、修改 wp-config.php 文件
从浏览器的判断来看,是 Cookie 问题,所以从这个角度来解决。打开 wp-config.php 文件,添加下面的几行代码:
define('ADMIN_COOKIE_PATH', '/'); define('COOKIE_DOMAIN', "); define('COOKIEPATH', "); define('SITECOOKIEPATH', ");
保存后测试看看。
2 、修改.htaccess 文件
通过 ftp 链接登录,右击编辑,在 # BEGIN WordPress line 上面,添加下面的代码:
ErrorDocument 401 default
保存后测试看看。
一般情况下,通过上述方法都能解决问题。