- 错误类型:
- HTTP错误
- 错误名称:
- 403不可见错误
- 英文名称:
- 403 Forbidden Error
- 错误描述:
- 与许多其他常见的WordPress错误一样,403 Forbidden错误是Web服务器用于与Web浏览器通信的HTTP状态代码。
- 错误变体:
-
“Forbidden – You don’t have permission to access / on this server”“403 – Forbidden: Access is denied”“Error 403 – Forbidden”“403 – Forbidden Error – You are not allowed to access this address”“403 Forbidden – nginx”“HTTP Error 403 – Forbidden – You do not have permission to access the document or program you requested”“403 Forbidden – Access to this resource on the server is denied”“403. That’s an error. Your client does not have permission to get URL from this server”“You are not authorized to view this page”
相信大部分WordPress站长都会遭遇过这样的情况,在尝试访问WordPress网站被告知某些内容是“禁止”或没有权限访问?如果是这样,您可能会遇到WordPress上的403 Forbidden Error。
在自己的WordPress网站上遭遇这样的错误,对于部分新站长来说可能会有些惊慌失措,在网上搜索各种相关的知识文档,希望快速修复错误。这不,我们已经想到了这一点,编写以下教程以帮助您修复WordPress上的403 Forbidden Error,让网站尽快恢复正常。
什么是403 Forbidden Error?
与许多其他常见的WordPress错误一样,403 Forbidden错误是Web服务器用于与Web浏览器通信的HTTP状态代码。
HTTP状态代码 – 每当您使用浏览器连接到网站时,Web服务器都会使用称为HTTP标头的内容进行响应。通常,这样的交互只会在后端执行,除非是发生了错误。
但是,如果出现问题,服务器将使用不同的编号HTTP状态代码进行响应。虽然这些数字也是我们站长十分讨厌的东西,但实际上这些代码非常重要,因为它们可以帮助您准确诊断网站上出现的问题。
403错误意味着您的Web服务器接收到客户端(即您的浏览器)正在发出的请求,但服务器将无法满足该请求。
在更人性化的术语中,它基本上意味着您的服务器确切地知道您想要做什么,它只是不会让您这样做,因为您由于某种原因没有适当的权限。这有点像你想要参加私人活动,但出于某种原因,你的名字被意外地从访客名单中删除了。
除了本文的403错误及我们几天前提及的503错误,还有500错误、502错误及504错误等,后续我们会尽可能对每一种HTTP错误状态代码进行解说及提出相关的解决方案。
什么原因导致WordPress上的403错误?
WordPress上产生403 Forbidden Error的两个最可能的原因是:
- 不规范的或者有错误的
.htaccess
- 文件权限设置有误
当然还有一种可能是你的WordPress博客安装的某个插件存在问题,导致了403错误产生。 在本文中,我们将向您逐一说明如何解决所有这些潜在问题。
403错误变体
与许多其他HTTP状态代码一样,此错误代码也会存在很多不同的变体。以下是您可能遇到的一些常见变体:
- 你没有权限访问此服务器:“Forbidden – You don’t have permission to access / on this server”
- 访问被拒绝:“403 – Forbidden: Access is denied”
- “Error 403 – Forbidden”
- 你无权访问此地址:“403 – Forbidden Error – You are not allowed to access this address”
- nginx:“403 Forbidden – nginx”
- 您无权访问所请求的文档或程序:“HTTP Error 403 – Forbidden – You do not have permission to access the document or program you requested”
- 拒绝访问服务器上的此资源:“403 Forbidden – Access to this resource on the server is denied”
- 您的客户端无权从此服务器获取URL:“403. That’s an error. Your client does not have permission to get URL from this server”
- 您无权查看此页面:“You are not authorized to view this page”
基本上,如果您看到任何提及“forbidden(禁止)”或“not allowed to access(不允许访问)”,都属于403 Forbidden错误。
如何修复WordPress上的403错误
为了帮助您修复WordPress网站上的403错误(403 Forbidden Error),我们将详细介绍三个单独的故障排除步骤:
#1: 文件权限
WordPress网站服务器上的每个文件夹和文件都有自己唯一的文件权限,进行权限控制:
- 读取 – 查看文件中的数据/查看文件夹的内容。
- 写入 – 修改文件/添加或删除文件夹中的文件。
- 执行 – 运行文件和/或将其作为脚本执行/访问文件夹并执行功能和命令。
这些权限由3位数字表示,每个数字表示上述3个类别中每个类别的权限级别。
通常,这些权限只适用于您的WordPress网站。 但是,如果某些内容与WordPress网站上的文件权限混淆,则可能导致403 Forbidden错误。
要查看和修改站点的文件权限,您需要通过FTP/SFTP客户端连接你的WordPress服务器。
下面教程,我们将使用免费的FTP/SFTP客户端FileZilla。 但基本也适用于任何FTP程序。
连接到服务器后,可以通过右键单击来查看文件或文件夹的权限:
当然,手动检查每个文件或文件夹的权限并不实际。 相反,您可以批量设置所有文件夹内的文件或者文件夹权限。
根据WordPress Codex,WordPress官方推荐的文件及目录权限设置为:
- 文件 – 644 or 640
- 目录 – 755 or 750
非常重要非常重要非常重要:wp-config.php文件权限应该是440或400。
要设置这些权限,请右键单击包含WordPress站点的文件夹(虚拟服务器路径可能为·/www/*/public,VPS服务器路径可能为·/home/wwwroot/www.yourdomain.com)。 然后,选择File Attributes(文件属性):
在“Numeric value(数字值)”框中输入755或750。 然后,选择Recurse into subdirectories(递归处理子目录)并Apply to directories only(只应用到目录):
一旦为目录应用了正确的权限,您可以按照同样的方式应用文件权限设置。
- 在数字值输入644或640
- 勾选递归处理子目录并选中只应用到文件
不要忘记最后的一个步骤,手动调整wp-config.php文件的权限,将权限设置为数字值440或400:
如果文件权限问题导致403 Forbidden Error,现在您的站点应该已经恢复正常。否则,继续往下看。
#2: .htaccess文件
如果你的WordPress使用NGINX Web服务器,则此不存在此潜在问题,因为没有.htaccess文件,你可以直接阅读下一个问题排除方案-插件故障。
但是,如果您WordPress网站所在的服务器使用Apache Web服务器,则403 Forbidden错误可能是由您站点的.htaccess
文件问题导致。
.htaccess
文件是Apache Web服务器使用的基本配置文件。 您可以使用它来设置重定向,限制访问您的网站或部分页面等。
.htaccess
文件功能强大,但不容得一个小错误,否则可能会导致大问题,如403 Forbidden错误。
与其试图检查 .htaccess
文件内容(除非你非常熟悉),不如简单粗暴地强制WordPress生成一个新的,干净的 .htaccess
文件。
如下:
- 通过FTP或者SFTP连接你的服务器
- 在你的WordPress网站根目录找到
.htaccess
文件 - 将该文件下载到本地以作备份(为了以防万一,最好备份一个文件)
- 确保安全备份后删除
.htaccess
文件
下面我们来强制WordPress生成一个新的,干净的 .htaccess
文件:
- 进入你的WordPress仪表盘,访问 设置 → 固定连接
- 然后点击界面底部的保存更改(你无需在该页面做任何操作,只要点击按钮就好)
执行以上操作后,WordPress将为您生成一个新的 .htaccess
文件。
#3: 问题插件排查
如果您的网站的文件权限和.htaccess文件都存在问题,那么跟着下来就要对你的WordPress网站的插件进行排查了。因为403错误有可能是插件的错误或不同插件之间的兼容性问题导致。
无论问题是什么,找到有问题的插件的最简单方法是进行试错测试。 具体来说,您需要停用所有插件,然后逐个重新激活它们,直到找到罪魁祸首。
如果您仍然可以访问WordPress仪表板,则可以通过WordPress仪表盘的插件–已安装的插件来逐个插件停用测试。
如果你无法访问WordPress仪表盘,取而代之的是你需要通过FTP/SFTP连接到WordPress网站服务器。然后按照以下步骤来检验插件:
- 进入WordPress网站根目录下的 wp-content 文件夹
- 然后再找到WordPress插件安装目录 plugins
- 右键点击 plugins 文件夹,选择重命名
- 修改文件名为其他名称。你可以命名为任何不同的名字,比如我们建议的 plugins-disabled 以作区分和识别。
通过重命名文件夹,您已经成功地禁用了站点上的所有插件。
再次尝试访问您的网站。 如果您的站点正常工作,我们可以知道其中一个插件导致403 Forbidden错误。
要查找罪魁祸首,请逐个重新启用插件,直到找到导致问题的插件为止。
更改插件文件夹的文件名后,访问WordPress仪表盘–插件–已安装的插件应该看到许多关于插件不存在的错误提醒:
要解决此问题并重新获得管理插件的功能,请使用FTP程序将文件夹的名称更改回plugins。 因此,如果您将其重命名为plugins-disabled,只需将其更改回plugins即可。
完成命名恢复后,您将再次看到所有插件的完整列表。 只有都将被停用:
使用“启用”按钮逐个重新启用它们。每次启用一个插件时,请尝试刷新一下403错误页面以确认问题插件。
一旦你找到导致问题的插件,你可以尝试联系插件作者修复(或者选用可代替插件)。
小结
403 Forbidden错误表示您的服务器正在运行,但由于某种原因您不再有权查看您的网站或部分页面。
导致此错误的两个最可能原因是您的WordPress网站的文件权限或 .htaccess
文件的问题。 除此之外,一些插件问题也可能导致403 Forbidden错误。
如果你的WordPress网站也遭遇403错误,可以按照上述操作恢复你的网站。