如何修复 WordPress 网站上的 403 禁止错误

已发表: 2019-01-07

您是否只是尝试访问您的 WordPress 网站,却被一些消息击中,告诉您某些内容是“禁止的”,或者您无权访问您网站上的某些内容? 如果是这样,您可能在 WordPress 上遇到了 403 Forbidden 错误。

在您的 WordPress 网站上看到错误可能会令人沮丧和沮丧,这就是我们创建此详细指南的原因,以帮助您修复 WordPress 上的 403 禁止错误并让您的网站尽快恢复运行。

让我们开始吧,无需任何进一步的介绍,因为我们确定您只是想修复您的网站!

  • 什么是 403 禁止错误
  • 如何修复 403 Forbidden 错误

喜欢视频版本?

什么是 403 禁止错误?

Internet 工程任务组 (IETF) 将错误 403 Forbidden 定义为:

403(Forbidden)状态码表示服务器理解请求但拒绝授权。 希望公开请求被禁止的原因的服务器可以在响应负载(如果有)中描述该原因。

与许多其他常见的 WordPress 错误一样,403 Forbidden 错误是 Web 服务器用来与您的 Web 浏览器通信的 HTTP 状态代码。

Chrome中的403禁止错误
Chrome中的403禁止错误

HTTP 状态代码的快速背景 – 每当您使用浏览器连接到网站时,Web 服务器都会以称为 HTTP 标头的内容进行响应。 通常,这一切都发生在幕后,因为一切正常(如果您想知道,那是 200 状态代码)。

但是,如果出现问题,服务器将返回一个不同编号的 HTTP 状态代码。 虽然遇到这些数字令人沮丧,但它们实际上非常重要,因为它们可以帮助您准确诊断网站上的问题。

403 Forbidden 错误意味着您的 Web 服务器理解客户端(即您的浏览器)正在发出的请求,但服务器不会满足它。

用更人性化的术语来说,它基本上意味着您的服务器确切地知道您想要做什么,它只是不会让您这样做,因为您由于某种原因没有适当的权限。 这有点像您正试图参加一个私人活动,但您的名字由于某种原因意外地从客人名单中删除了。

其他 HTTP 状态代码的含义不同。 我们编写了有关修复 404 未找到错误、500 内部服务器错误、502 网关错误和 504 网关超时错误的指南。

是什么导致 WordPress 上的 403 禁止错误?

WordPress 出现 403 禁止错误的两个最可能原因是:

  1. 损坏.htaccess文件
  2. 文件权限不正确

由于您在站点上使用的插件存在问题,您也可能会看到该错误。 在本文中,我们将向您展示如何解决所有这些潜在问题。

403 禁止错误变化

与许多其他 HTTP 状态代码一样,此错误代码的呈现方式也有很多不同的变化。

以下是您可能会遇到的一些常见变体:

  • “禁止 - 您无权访问 / 在此服务器上”
  • “403 - 禁止:访问被拒绝”
  • “错误 403 - 禁止”
  • “403 - 禁止错误 - 您无权访问此地址”
  • “403 禁止 - nginx”
  • “HTTP 错误 403 – 禁止 – 您无权访问您请求的文档或程序”
  • “403 Forbidden – 拒绝访问服务器上的此资​​源”
  • “403。 那是一个错误。 您的客户端无权从该服务器获取 URL /”
  • “您无权查看此页面”
  • “您似乎没有访问此页面的权限。”

如果您在 Nginx 服务器上,它将如下所示。 基本上,如果您看到任何提及“禁止访问”或“不允许访问”,您可能正在处理 403 禁止访问错误。

Kinsta 的 403 禁止错误是什么样的
Kinsta 的 403 禁止错误是什么样的

如何修复 WordPress 上的 403 禁止错误

为了帮助您修复 WordPress 网站上的 403 禁止错误,我们将详细介绍五个单独的故障排除步骤:

  • 文件权限
  • .htaccess 文件
  • 插件问题
  • CDN 问题
  • 防盗链

1.文件权限

WordPress 站点服务器上的每个文件夹和文件都有自己独特的文件权限,可以控制谁可以:

  • 读取- 查看文件中的数据/查看文件夹的内容。
  • 写入- 修改文件/添加或删除文件夹内的文件
  • 执行- 运行文件和/或将其作为脚本执行/访问文件夹并执行功能和命令。

这些权限由一个 3 位数字表示,每个数字表示上述 3 个类别中每个类别的权限级别。

通常,这些权限仅适用于您的 WordPress 网站。 但是,如果您的 WordPress 站点的文件权限出现问题,则可能会导致 403 Forbidden 错误。

要查看和修改站点的文件权限,您需要通过 FTP/SFTP 进行连接。 如果您在 Kinsta 托管,以下是如何使用 SFTP。

在一个方便的位置找到管理网站(错误和所有)所需的所有工具。 免费试用 Kinsta。

对于下面教程中的屏幕截图,我们将使用免费的 FileZilla FTP 程序。 不过,基本原则将适用于任何 FTP 程序——您只需将它们应用到不同的界面即可。

连接到服务器后,您可以通过右键单击文件或文件夹来查看文件或文件夹的权限:

在 FileZilla 中查看文件权限
在 FileZilla 中查看文件权限

当然,手动检查每个文件或文件夹的权限并不是一个真正的选择。 相反,您可以自动将文件权限应用于文件夹内的所有文件或文件夹。

根据 WordPress Codex,WordPress 的理想文件权限是:

  • 文件– 644 或 640
  • 目录– 755 或 750

一个例外是您的 wp-config.php 文件应该是 440 或 400。

要设置这些权限,请右键单击包含您的 WordPress 站点的文件夹(文件夹名称在 Kinsta 上公开的)。 然后,选择文件属性

FileZilla 中的批量编辑文件权限
FileZilla 中的批量编辑文件权限

数值框中输入 755 或 750。 然后,选择递归到子目录仅应用于目录

WordPress 目录的文件权限
WordPress 目录的文件权限

为目录应用正确的权限后,您将对文件重复该过程。 只有这一次:

  • 数值框中输入 644 或 640
  • 选择递归到子目录
  • 选择仅应用于文件
WordPress 文件的文件权限
WordPress 文件的文件权限

要完成该过程,您只需手动调整wp-config.php文件的权限,使其为 440 或 400:

wp-config.php 文件的文件权限
wp-config.php 文件的文件权限

如果文件权限问题导致 403 禁止错误,您的站点现在应该重新开始工作。

2. .htaccess 文件

Kinsta 使用 NGINX 网络服务器,因此如果您在 Kinsta 托管您的网站,则此潜在问题不适用,因为 Kinsta 网站没有 .htaccess 文件。

但是,如果您在其他地方托管并且您的主机使用 Apache Web 服务器,则 403 Forbidden 错误的一个常见原因是您网站的.htaccess文件中的问题。

.htaccess文件是 Apache Web 服务器使用的基本配置文件。 您可以使用它来设置重定向、限制对您的全部或部分站点的访问等。

在一个方便的位置找到管理网站(错误和所有)所需的所有工具。 免费试用 Kinsta。

因为它非常强大,即使是一个小错误也可能导致一个大问题,比如 403 Forbidden 错误。

与其尝试对 .htaccess 文件本身进行故障排除,更简单的解决方案是强制 WordPress 生成一个新的、干净的.htaccess文件。

要做到这一点:

  • 通过 FTP 连接到您的服务器
  • 在根文件夹中找到.htaccess文件
  • 将文件的副本下载到您的计算机(以防万一,备份总是一个好主意
  • 在本地计算机上拥有安全备份副本后,从服务器中删除.htaccess文件
删除 .htaccess 文件
删除 .htaccess 文件

现在,如果您的.htaccess文件有问题,您应该可以访问您的 WordPress 网站。

要强制 WordPress 生成一个新的、干净的.htaccess文件:

  • 转到 WordPress 仪表板中的设置 → 永久链接
  • 单击页面底部的保存更改(您无需进行任何更改 - 只需单击按钮)
如何生成一个新的、干净的 .htaccess 文件
如何生成一个新的、干净的 .htaccess 文件

就是这样——WordPress 现在将为您生成一个新的.htaccess文件。

3. 停用然后重新激活您的插件

如果您的站点的文件权限和.htaccess文件都不是问题,那么下一个要看的地方是您的插件。 这可能是插件中的错误或不同插件之间的兼容性问题。

无论问题是什么,找到有问题的插件的最简单方法是进行一些试验和错误。 具体来说,您需要停用所有插件,然后一一重新激活它们,直到找到罪魁祸首。

如果您仍然可以访问您的 WordPress 仪表板,则可以从普通插件区域执行此过程。

如果您无法访问 WordPress 仪表板,则需要通过 FTP/SFTP 连接到您的 WordPress 站点的服务器(这是在 Kinsta 上通过 SFTP 连接的方法)。

通过 FTP 连接到服务器后:

  1. 浏览到wp-content文件夹
  2. wp-content文件夹中找到plugins文件夹
  3. 右键单击插件文件夹并选择重命名
  4. 更改文件夹的名称。 您可以将其命名为任何不同的名称,但我们建议使用plugins-disabled之类的名称,以便于记忆。
重命名插件文件夹
重命名插件文件夹

通过重命名文件夹,您有效地禁用了站点上的所有插件。

现在,再次尝试访问您的网站。 如果您的网站正常运行,您就知道您的某个插件导致了 403 Forbidden 错误。

要找到罪魁祸首,请一一重新激活您的插件,直到找到导致问题的插件。

更改插件文件夹的文件名后,当您转到站点上的插件区域时,您应该会看到一些错误提示插件文件不存在

重命名插件文件夹后会发生什么
重命名插件文件夹后会发生什么

要解决此问题并重新获得管理插件的能力,请使用您的 FTP 程序将文件夹的名称改回plugins 。 因此,如果您将其重命名为plugins-disabled ,只需将其改回plugins

完成此操作后,您将再次看到所有插件的完整列表。 只有现在,它们都将被停用:

一个一个地重新激活你的插件
一个一个地重新激活你的插件

使用激活按钮一一重新激活它们。

找到导致问题的插件后,您可以联系插件的开发人员寻求帮助或选择完成相同任务的替代插件(我们在这里收集了最好的 WordPress 插件)。

4. 暂时停用 CDN

如果您的资产(图像、JavaScript、CSS)出现 403 禁止错误,则可能是您的内容交付网络 (CDN) 存在问题。 在这种情况下,我们建议暂时禁用您的 CDN,然后检查您的站点以查看它是否有效。 如果您是 Kinsta 客户,请单击您的站点,然后单击“Kinsta CDN”选项卡。 在那里,关闭“Kinsta CDN”按钮。

禁用 Kinsta 的 CDN
禁用 Kinsta 的 CDN

5. 检查热链接保护是否配置错误

热链接是指有人将图像添加到他们的网站,但托管链接仍指向其他人的网站。 为了防止这种情况,有些人会使用他们的 WordPress 主机或 CDN 提供商设置所谓的“热链接保护”。

启用热链接保护后,通常会返回 403 禁止错误。 这很正常。 但是,如果您看到不应该出现的 403 禁止错误,请检查以确保正确配置了热链接保护。

仍有问题? 联系您的托管服务提供商

如果上述解决方案都不适合您,那么我们建议您联系您的托管服务提供商。 他们很可能会帮助您查明问题并让您恢复正常运行。 如果您是 Kinsta 客户,请向我们的团队开具支持票。 我们全天候 24/7 可用。

概括

403 Forbidden 错误意味着您的服务器正在运行,但由于某种原因您不再有权查看您的全部或部分站点。

此错误的两个最可能原因是您的 WordPress 站点的文件权限或.htaccess文件存在问题。 除此之外,一些插件问题也可能导致 403 Forbidden 错误。 或者可能是热链接保护或您的 CDN 配置错误。

按照本指南中的故障排除步骤,您应该能够立即让您的站点恢复工作。