建站随笔,  网页基础

WP无法登陆后台-链接已重置

本文于2021年1月13日由AlvinCR更新

文章导引

1 背景

1 现象描述

开启CDN加速后能够正常访问网站内容,但是当进入后台时会出现连接已重置。

2 产生原因

上述现象是由于CDN服务器使用缓存造成的,

以下内容纯粹是alvin的个人理解,如有错误请斧正:

使用CDN加速后,DNS将解析到CDN加速的服务商那里,返回的数据是CDN服务器缓存的个人站点的静态内容,但是无法缓存后台内容(也没必要同时也不安全,因为你修改缓存的后台数据没意义,不会保存到你的网站上),同时后台链接也被CDN服务商所更改,导致无法正常访问后台,

3 简单测试

在进行下一步之前,先判断一下是否是有cookie导致的此类问题,方法很简单,谷歌浏览器只需要打开无痕模式,火狐打开隐私模式再次访问站点即可。

如下图所示:打开无痕模式将禁用所有插件和cookie等本地信息,缓存当然也被禁用了。

2 解决方法

进行这一步之前务必完成上文中的简单测试部分。

1 通用方法

当开启CDN加速后无法进入后台,

如果遇到了开启CDN后wordpress后台打不开的情况,直接禁止缓存/wp-admin文件夹即可。

2 个人方法

我个人解决方法我并不完全清楚,通用方法,因为我站点出现的并不是这一个问题,还有其它几个问题:重定向次数过多,403forbidden,等等一系列错误,因此当我清理缓存、重置CDN加速、重设CDN参数、重获取SSL证书后,这个问题也就顺带解决了,这个问题只是我在解决重定向次数过多过程中产生的子问题。所以我并不能保证用哪个方法一定能够解决此问题。但是基本上与CDN和缓存脱不了关系,只需要朝着这个方向努力即可。

3 其它方法

由于我的问题已经解决,所以无法再进行其它测试了,下面是我找到的教程很简略的解决方法,

方法1:汇总

对此方法我保持怀疑的态度,因为删除或添加某些东西很容易出现异常。在进行下面操作的时候记得备份,尤其是进行4号、9号操作。个人认为应该不会出现8号的问题,6号、7号基本无效。(请看2021.1.12补充)

转载自:https://www.maguang.net/archives/5829

4、 修改 WordPress 目录下的 wp-config 文件,或者删除重新生成。

加上如下代码:
$home = ‘http://’.$_SERVER[‘HTTP_HOST’]; //
博客首页  $wpurl = ‘http://’.$_SERVER[‘HTTP_HOST’]; //
WP程序的路径  define(’WP_HOME’, $home);define(’WP_SITEURL’, $wpurl);。

6、 使用地址:域名 /wp-admin/index.php 登录后台。

7、 打开 phpMyAdmin,点开 options,看到自己的 siteurl,值为 http://www.xxx.com/WordPress ,把 www 删掉,再回到 WordPress 的登陆页面,输入用户名和密码。

8、 把主题文件夹里的functions.php中<?php …… ?>之前和之后的空格或者多出的空行删除

根目录下的wp-config.php中的<?php …… ?>之前和之后的空格删除

wp-includes/user.php中的<?php …… ?>之前和之后的空格删除

9、 删除wp-content/plugins文件夹(意思就是揪出BUG是否产生于WORDPRESS插件)

方法1(2021.1.12补充)

对于这些方法我找到了别人尝试的结果,方法1的方法都显示无效(https://wordpress.org/support/topic/the-connection-was-reset-12/)

I’ve spent time searching for solutions, to no avail. The following is what I’ve tried so far:
– I’ve cleared the cache/cookies/history
– disabled plugins
– disabled theme (although I didn’t have any other themes installed for it to revert to)
– removed .htaccess file
– added a new user to the database
– updated the site URL by adding the following lines into the wp-config.php file (using the name of my site instead of “example.com”) — define(‘WP_HOME’,’http://example.com&#8217;);
define(‘WP_SITEURL’,’http://example.com&#8217;);

方法2:补充

来自wordpress社区对话,内容久远,主要是两个方面的可能性:1是adsblock,2是WP后台杀毒软件

一条评论

留言

您的电子邮箱地址不会被公开。 必填项已用 * 标注

WP无法登陆后台-链接已重置