什么是 401 错误以及如何修复它?

已发表: 2019-12-27

想象一下,您正在尝试更新您的网站,但由于某种原因,您无法访问后端。 更糟糕的是,你甚至无法进入你的 WordPress 登录页面,因为有一个讨厌的 401 错误。

HTTP 错误 401 表示验证您的浏览器凭据时出现问题。 在本文中,我们将分解这意味着什么以及导致它的原因。 然后,我们将介绍解决问题的五种方法,以便您可以恢复正常的发布时间表。

让我们潜入吧!

订阅我们的 YouTube 频道

什么是 HTTP 401 错误及其原因?

在某些时候,您可能尝试登录 WordPress 并意外提交了错误的凭据。 发生这种情况时,您会看到一个错误页面,让您知道自己犯了一个错误,但您仍然可以通过重新输入正确的用户名和密码来获得访问权限。

401 错误与此类似,因为它涉及您尝试使用错误的凭据访问网站,但级别更高。 如果您的浏览器没有通过您网站的服务器正确验证,您甚至无法进入 WordPress 登录页面。

相反,你会看到一个这样的错误页面:

401 错误代码的示例。

401 Authorization Required 错误意味着您可以尝试使用正确的凭据再次访问资源。 换句话说,这通常是一个暂时性的问题,与 HTTP 403 错误不同,在这种错误中,您被明确禁止访问您希望访问的页面。

在某些情况下,401 错误会自行消失,让您再次访问您的网站。 但是,即使是短暂地被锁定在您的网站之外也很不方便。 您可以采取行动更快地到达后端,而不是坐在那里希望您的浏览器能够解决问题。

如何修复 WordPress 中的 401 错误(5 种方法)

401 错误的主要问题是它有多种潜在原因。 这使得很难知道哪个正在影响您的浏览器。 考虑到这一点,我们将讨论几种可能的修复方法,以便您可以解决它们。

1. 刷新您的域名系统 (DNS) 记录

在许多情况下,您的计算机会存储有关您最常访问的 IP 地址和 URL 的数据。 这样,它可以更快地处理未来的请求。

刷新您的 DNS 涉及从您的计算机中删除所有临时数据。 这样,下次您尝试访问有问题的 URL 时,它会发出一个全新的请求并重新进行身份验证。

刷新 DNS 的过程因操作系统 (OS) 而异。 如果您是 Windows 用户,只需打开命令提示符并键入ipconfig/flushdns命令:

刷新 Windows 机器上的 DNS 记录。

Windows 将返回一条成功消息,您可以再次尝试访问您的网站。

Mac 用户需要遵循类似的过程,但您需要在终端中输入的命令因您运行的 OSX 版本而异。 最近三个迭代(Sierra、High Sierra 和 Mojave)的用户可以使用sudo killall -HUP mDNSResponder

2. 清除防火墙和浏览器缓存

浏览器还可以存储数据,因此它们不必每次访问网站时都从头开始加载。 此过程称为缓存。 在某些情况下,您可能无意中存储了错误的登录信息。

如果这是 401 错误的根源,修复它很简单。 大多数现代浏览器都可以让您在几分钟内清除缓存。 例如,使用 Chrome,您可以进入“设置”>“高级”并查找“清除浏览数据”选项:

清除 Chrome 中的浏览器数据。

然后您可以指定您希望浏览器删除哪些数据。 选择缓存的图像和文件选项 然后点击清除数据按钮:

清除 Chrome 中缓存的图像和文件。

尝试再次访问您的网站。 如果问题仍然存在,则错误可能是由于防火墙的缓存(如果您正在使用)。

在某些情况下,您的防火墙可能无法与您的服务器通信,从而导致身份验证错误。 解决此问题的过程将取决于您使用的工具。

如果您是 Cloudflare 用户,则可以访问仪表板并导航到缓存选项卡。 在里面,你会找到一个Purge Everything选项,其中包括防火墙的整个缓存:

清除 Cloudflare 防火墙。

清除防火墙的缓存不会影响其功能。 最坏的情况是,您下次访问您的网站时可能会遇到更长的加载时间,但这应该会在您的缓存重建后自行解决。

如果您使用不同的防火墙工具,您需要查看其文档并检查它是否允许您手动清除缓存。 对于某些服务,您可能需要联系支持人员。

3. 测试你的 WordPress 插件和主题之间的冲突

与 WordPress 插件和主题的兼容性问题有时会触发 401 错误。 如果您有权访问仪表板,则停用任一元素以确定冲突来源很简单。

只需单击任何插件名称下的停用

从仪表板停用 WordPress 插件。

对于您的主题,切换到 WordPress 默认设置,例如 29 或 20。 然后您可以一个一个地重新激活每个插件并等待问题再次发生。 您应该能够缩小有问题的元素。

但是,401 错误可能会阻止您访问仪表板。 这意味着,要禁用插件和主题,您需要使用文件传输协议 (FTP) 和 FTP 客户端,例如 FileZilla。

连接到服务器后,导航public_html > wp-content > plugins

停用 FileZilla 中的插件。

然后,通过右键单击每个插件的文件夹来重命名它。 像plugin-name _disabled这样简单的东西就可以了。 这将阻止 WordPress 定位这些文件夹。

禁用插件后,再次访问您的网站。 如果 401 错误消失,则意味着一个或多个元素之间的不兼容是根本原因。

然后您可以返回 FileZilla 将您的插件名称改回。 在每个站点之间检查您的站点。 当 401 错误再次出现时,您就会知道最近激活的工具是罪魁祸首。

禁用主题的工作方式类似。 转到wp-content/themes,找到您正在使用的文件夹,然后重命名:

在 FileZilla 中停用 WordPress 主题。

将自动激活默认主题以替换它。 再次测试您的网站以查看 401 错误是否仍然存在。 如果没有,您的主题可能是问题的一部分,您需要寻找替代方案。

4. 禁用 WordPress 目录的密码保护

调整您的 WordPress .htaccess文件可以让您实现几个方便的功能。 其中之一是密码保护您的 WordPress 目录,这在您的登录页面之外增加了一层额外的安全性。

问题是,此级别的密码保护不包括凭据的恢复过程。 如果您忘记了它们,您就会被锁定,除非您完全禁用该功能。

通过 FTP 可以轻松禁用凭据提示。 您可以完全取消密码保护功能,也可以为要访问的目录关闭密码保护功能。

对于第一种方法,您需要在 WordPress目录中找到.htaccess文件。 右键单击它并选择编辑选项,这将使用您的默认文本编辑器打开文件:

通过 FileZilla 编辑 .htaccess。

然后,查找如下所示的代码片段:

ErrorDocument 401 /401.html
AuthName "Secure Area"
AuthType Basic
AuthName "Password Protected Area"
AuthUserFile /path/to/directory/.htpasswd
Require valid-user

完全删除此代码段将禁用所有目录的密码保护。

此外,每个相关目录都应该有一个名为.htpasswd的第二个文件 删除它也会删除密码保护,但仅限于该特定文件夹。

无论您决定采用哪种方法,请在进行必要的更改后尝试重新访问您的网站。 如果这不起作用,则 401 错误的根源可能在更高的位置。

5. 联系您的托管服务提供商

如果其他一切都失败了并且 401 错误持续了一段时间而没有自行解决,那么最好的办法是与您的托管服务提供商取得联系。 在此阶段,您已经尝试了所有其他方法,这意味着可能是与服务器相关的问题导致了问题。

您的提供商的支持团队可以使用更好的诊断工具,这意味着他们可以帮助您将问题的原因归零。 然而,处理工单可能需要一段时间,这就是为什么明智之举是首先尝试自己解决 401 错误。

结论

在您的日常网络浏览中遇到错误并不少见。 通常,这没什么大不了的。 但是,当向您发送 401 错误代码的网站是您自己的网站时,情况就变得很严重了。 除非您设法对其进行故障排除,否则您可能会发现自己被锁定了很长一段时间。

有很多方法可以解决 WordPress 网站上的 HTTP 401 错误。 一些最成功的方法包括:

  1. 刷新您的 DNS 记录。
  2. 清除防火墙和浏览器缓存。
  3. 测试 WordPress 插件和主题之间的冲突。
  4. 禁用 WordPress 目录的密码保护。
  5. 联系您的托管服务提供商。

您对如何修复 WordPress 中的 401 错误有任何疑问吗? 让我们在下面的评论部分回顾它们!

Leremy/shutterstock.com 的文章缩略图