今天上博客时发现wordpress居然没法登陆了,从网上找各种解决方法,后来从谷歌找到了原因,原来是因为路由器导致了wordpress陷入了死循环,主要表现为通过无线路由上网,无法登陆wordpress的后台,症状为输入用户名密码之后点登陆按钮仍旧是返回登陆界面。当然以前是好好的,换任何浏览器和操作系统都是一样,并且在别人电脑上是没有问题的。
解决方法:打开文件”/wp-includes/pluggable.php“,修改 wp_set_auth_cookie函数。
将(两处,第一处在666行左右,第二处就在后面几行,基本上改第一处就可以了。
setcookie($auth_cookie_name, $auth_cookie, $expire, ADMIN_COOKIE_PATH, COOKIE_DOMAIN, $secure, true);
修改为:
setcookie($auth_cookie_name, $auth_cookie, $expire, SITECOOKIEPATH, COOKIE_DOMAIN, $secure, true);
主要就是更改cookie的作用目录,由原来的“/wp-admin”变成了根目录“/”。问题大概是由于无法跨目录读取用户的cookie导致的(参见 pluggable.php中的函数wp_parse_auth_cookie)。
经测试,wordpress3.5成功解决问题。别版本应该也可以,不过建议修改之前做好文件备份。
新年马上到了,提前祝新年快乐,博客越办越好!