http://mingming4745.blog.163.com/blog/static/173845720119159425890/?suggestedreading
————————————————————————————————————————————————————————————————————————————————
亲自试过,解决了自己网站的问题,因此转过来与饱受困惑的战友们分享。原文链接:www.zhuiai8.com
WordPress无法登陆后台,输入用户名、密码之后仍旧返回登陆界面,死循环的问题
症状为:无法登陆wordpress后台,输入用户名密码之后仍旧返回登陆界面。
(版本wordpress 3.0)
网上有各种各样的解决方法,我都试过了,但是很可惜没用。诸如:1.修改字符编码法,或set names
utf8法;2.检查wp_options表法,又又名wp_user_roles法;3.清除cookies法;4.最差劲要数重装
wordpress,貌似重装也不能解决问题。
真正的解决方法:
打开文件”/wp-includes/pluggable.php“,修改wp_set_auth_cookie函数。
将(两处,第一处在666行左右,第二处就在后面几行,基本上改第一处就可以了,wordpress 2.9.2;wordpress 3.0 在691行)
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)。