路由器导致wordpress死循环无法登陆,不断返回登陆界面

上次机缘巧合发现了“拖动大法”,于是满心欢喜的发文庆贺,文章发完了,然后wordpress任我怎么怎么拖啊拽啊也再不肯进入后台,于是我只好修改源码。

问题回顾

“通过无线路由上网,无法登陆wordpress后台,症状为输入用户名密码之后仍旧返回登陆界面。当然以前是好的,换任何浏览器和操作系统都一样,并且在别人电脑上是没问题的。(wordpress 2.9.2,wordpress 3.0)”

解决方法

打开文件”/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)。

wordpress跨目录无法读取的cookie

标签: , ,

更多文章

5 条评论 发表在“路由器导致wordpress死循环无法登陆,不断返回登陆界面”上

  1. [...] 之前发现的关于WordPress的妖怪问题,终于在Google之下找到了原因和解法,虽然只是一个临时解决办法,但还是相当有效,不然就没有这篇转贴了。以下为转贴原帖的主要部分。 问题回顾 [...]

  2. 关于本篇文章的转载:
    [...] 技术原创地址:橘白婪的博客 [...]

  3. 杨森 说:

    关于本篇文章的转载:
    感谢啊 ! 终于找到问题的症结了!!太谢谢了

  4. Code之行人 说:

    [...] 摘自:http://tang.jubailan.com/722 博客相关 WordPress [...]

留下回复