启用CDN后无法登陆WordPress后台的解决办法

发布于 2017-11-27  140 次阅读


这里涉及到原因很多,我吧所有知道的方法一一列出来

一、最常见的

解决方法倒也很简单,打开文件 /wp-includes/pluggable.php 使用查找工具找到这一行代码:

setcookie($auth_cookie_name, $auth_cookie, $expire, ADMIN_COOKIE_PATH, COOKIE_DOMAIN, $secure, true);

注意不同版本wordpress可能有不同行数的代码,你要做的,就是找出所有这些代码,然后替换为:

setcookie($auth_cookie_name, $auth_cookie, $expire, SITECOOKIEPATH, COOKIE_DOMAIN, $secure, true);

保存后,就可以登录后台了。
这是网上最常见的方法,也是最没用的 。。。。。没用,因为原因是cookie导致的并非cdn,如果你没开CDN变成无法登陆 可以试试说不定有效!

二、可以试试(不一定有效)

  1. 重命名 wp-login.php 为 wp-login2.php 或其他
  2. 修改 wp-login.php 文件里第671行的 wp-login.php 为 wp-login2.php
    发现还是不行.最后我用如下方法:
    > 1. 重命名 wp-login.php 为 wp-login-x.php
  3. 将 wp-login-x.php 里所有的“ wp-login.php ”全部替换为“ wp-login-x.php 
    此时可以正常登陆但却不能退出,还要继续第三步:
  4. 找到wp-includes文件夹下的 general-template.php 文件,并将此文件中所有“ wp-login.php ”字符换成“ wp-login-x.php 
    这样就可以正常登陆和退出了。
    再者,如果你用的主题里自带带有登陆入口,你还要将入口代码中“ wp-login.php ”字符换成“ wp-login-x.php”.

三、我是用这个方法解决的【可用】

我问过cdn客服,官方给出的解决办法是将 wp-admin 加入到黑名单中,不加速这个目录下的任何网页,因为缓存导致数据不对

我尝试后,发现不能奏效,后来我自己改了一下,等了1个小时,哈哈可以了  具体方法如下:

加速功能有三项:首页加速,目录加速,静态页面加速并未开启,遂逐一开启,结果确是网站后台无法登陆。
开始想了半天算是想清楚了,其中的目录加速就是针对 https://www.ldsun.com/xxxx 和 https://www.ldsun.com/xxxx/xxx 这样的网站目录,
对其进行加速并设置一定时间(1小时-1天)的缓存。然而wp的后台登陆路径正是 /wp_admin 和 /wp-login ,也就是说这样一来把后台进行了缓存,怪不得登陆不上呢。

怎么解决呢,关闭目录加速?这当然舍不得了,只需在缓存黑名单中加入后台路径 wp_admin 和 wp-login 即可,等缓存过了便一切正常。这样一来,不仅加速功能无碍,网站也能正常登陆。


Never give up your dreams.