没有什么情况比被锁定在WordPress管理仪表盘之外更令人担忧了。如果您在尝试登录时遇到“抱歉,您无权访问此页面”的消息,那么您就知道这种感觉。
幸运的是,您可以使用多种解决方案来解决此错误。稍加耐心,您就可以清除错误并立即恢复管理您的WordPress网站。
在这篇文章中,我们将深入探讨“抱歉,您无权访问此页面”错误以及导致该错误发生的原因。然后,我们将向您介绍许多潜在的解决方案,以帮助您找到适合您特定情况的解决方案。
了解“抱歉,您无权访问此页面”错误
尽管我们在本文中将其称为“错误”,但WordPress中的“抱歉,您无权访问此页面”消息是一种有用的安全措施。
最终,看到此通知仅意味着存在阻止您进入某个区域的权限设置。
当您被锁定在您应该有权进入的站点的一部分之外时,这就会成为一个问题,作为管理员,该部分位于后端的任何位置。出现这种情况时,通常是因为最近更新了主题、插件或WordPress核心。
由于各种原因,您可能会看到“抱歉,您无权访问此页面”消息。可能是WordPress没有将您识别为管理员。在其他情况下,您站点的核心代码或主题或插件中包含的信息可能与您的数据库中的信息不匹配。
其他原因包括wp-config.php文件中的错误信息 或运行过时PHP版本的站点。无论来源如何,此错误可能会阻止您访问整个管理区域或其中的一部分。
由于您可能无法通过仪表板访问关键设置,因此您需要使用文件传输协议 (FTP)或phpMyAdmin来解决此问题。在深入进行故障排除过程之前,请确保备份您的站点并重新使用这些平台。
遇到“抱歉,您无权访问此页面”通知最令人沮丧的是,很难确定是哪个原因在起作用。幸运的是,您可以测试许多解决方案以找到问题的根源。
如何修复“抱歉,您无权访问此页面”错误
由于可能的原因很多,“抱歉,您无权访问此页面”错误需要相当多的耐心才能解决。这一长串解决方案可能令人生畏,但它也涵盖了多种情况,可帮助您找到适合您网站的解决方案。
1. 恢复您网站的先前版本
返回WordPress仪表板的最简单且通常最快的方法是将您的站点恢复到早期版本。最近的更改(例如更新)可能是您看到的错误的原因。撤消最近的修改应该使您能够再次访问您的站点。
宝塔面板用户在这方面很容易实现。但前提是,你有进行宝塔的备份计划任务。
此解决方案的缺点是您可能会丢失最近的更改,并且必须找到一种方法来实现您的目标,而不会再次导致相同的错误。
因此,您可能希望将备份还原到暂存站点。然后,您可以测试不同的修改以确定导致问题的原因。在发现问题的根源后,您可以撤消麻烦的更改以重新获得对您网站的访问权限。
2. 禁用所有插件
可能导致您网站上出现“抱歉,您无权访问此页面”消息的特定更改是最近添加或升级了插件。如果您怀疑是这种情况,最好的做法是一一禁用您的插件。
如果您禁用插件并且消息消失,您就找到了问题的根源。然后,您可以使用该插件解决问题(或者如果它对您网站的功能不重要,则不用它)。
当然,如果您完全被锁定在仪表板之外,则此过程会变得有些棘手。您需要通过FileZilla 等客户端使用SFTP访问您的站点。完成后,导航到wp-content并找到标记为plugins的子目录:
通过重命名文件夹禁用所有插件
进入此文件夹,然后将您最近添加的插件重命名为“plugin-name_old”之类的名称。返回您的站点并检查错误是否已解决。如果没有,请将插件的名称改回并在下一个重复此过程。
3. 激活默认主题
此错误的另一个潜在原因是您最近更新或安装了主题。解决此问题的最佳选择是激活默认的WordPress主题,例如二〇二〇或二〇二一。
要在不访问管理区域的情况下执行此操作,您需要再次使用FTP。使用FileZilla连接到您的服务器,然后导航到wp-content > themes:
通过重命名文件夹禁用当前主题
该过程的其余部分与上述禁用插件的过程非常相似。
为您的活动主题重命名文件夹,然后返回您的站点并登录。您应该会看到一条通知,告诉您活动主题已损坏,并且已重新激活默认主题。
然后您可以对主题进行故障排除。您的网站至少应该是可访问的,尽管激活了错误的主题。
4. 确保您是管理员
另一种可能性是您的用户角色已被无意更改,您不再被列为管理员。这是多站点安装的常见问题。要确定是否是这种情况,您需要访问phpMyAdmin并查找wp_users表:
phpMyAdmin中的wp_users表
找到您的用户名并记下您的ID。然后,导航到wp_usermeta表并找到wp_capabilties行:
phpMyAdmin中的wp_usermeta表
如果您拥有管理员权限,该meta_value此行中会读到:
a:1:{s:13:"administrator";s:1:"1";}
如果您的wp_usermeta 表有其他内容,您可以单击“编辑”链接并更改它。或者,您也可以从phpMyAdmin创建一个全新的管理员帐户。要走这条路线,请返回wp_users 表并单击表顶部的“插入”选项卡:
更改wp_users表中的用户信息
然后,用您的新用户信息填写字段。完成后,单击Go按钮,您的新用户应该会出现在表格中。接下来,您需要记下此帐户的ID,然后返回wp_usermeta 表。
再次单击插入,并使用以下信息填写结果字段:
- Unmeta_id:将此字段留空;它将自动为您填写。
- User_id:使用wp_users表中的ID 。
- Meta_key:将此值设置为“wp_capabilities”。
- Meta_value:添加上面提到的行。
您现在应该能够使用您的新凭据登录到您的WordPress管理区域。删除旧帐户或将其用户角色从仪表板更改回管理员,然后删除新帐户。
5. 检查您的错误日志以查明原因
简化对站点上任何问题进行故障排除的一种聪明方法是检查服务器的错误日志。这可能表示插件或主题兼容性问题、数据库错误或站点文件问题导致出现“抱歉,您无权访问此页面”消息。
您查看服务器错误日志的方式取决于您的托管服务提供商是谁。对于宝塔控制面板用户,点击左侧“安全菜单”,然后进入Web日志目录:
宝塔面板日志管理
宝塔日志目录
在该目录下,你可以查看access.log, nginx_error.log等日志。如果您在日志中看到警报的原因之一,那么您可以着手修复它。否则,您需要尝试此列表中的另一个解决方案。
6. 确保你的数据库前缀是正确的
每个MySQL数据库都有一个前缀。如果您网站文件中列出的这个与phpMyAdmin中列出的不匹配,那么您可能会看到“抱歉,您无权访问此页面”消息。
迁移您的站点时可能会发生这种情况,包括您已经使用本地临时站点进行开发并且现在正在迁移到实时服务器。要检查差异,您需要访问wp-config.php文件。
您可以通过SFTP执行此操作,正如我们在之前的解决方案中所述。进入wp-config.php文件后,您应该查找数据库的前缀(默认为“wp_”):
数据库前缀
然后,登录到phpMyAdmin并查看数据库表的前缀。它们应该与wp-config.php文件中列出的匹配,如下图所示:
前缀应与wp-config.php文件中的前缀匹配
如果它们与您的wp-config.php文件中的前缀不匹配,那么您需要对其进行编辑以便它们匹配。
7. 在wp-config.php文件中查找更改
同样,您还应该查看WordPress配置文件的任何更改。如果您在收到“抱歉,您无权访问此页面”消息之前不久正在编辑此文件,或者您怀疑您的WordPress网站已被黑客入侵,则尤其如此。
您可以使用SFTP访问您的wp-config.php文件并查找似乎有问题的任何内容。但是,如果您有某种文件完整性监控或更改检测功能,则此过程会容易得多。
8. 升级到最新版本的PHP
如果您的WordPress站点运行的是过时的PHP版本,这可能是您遇到麻烦的根源。话虽如此,即使升级PHP不能为您解决这个问题,它也应该可以提高您网站的整体安全性和性能。
在开始升级过程之前,请创建站点的备份。保存备份后,您需要测试一下您的帐户是否与最新版本的PHP兼容。一种方法是使用临时站点。
假设一切顺利,您可以运行更新。宝塔面板用户可以通过登录宝塔面板控制后台并导航到相关站点的设置做到这一点。然后转到PHP版本,并从下拉菜单中选择最新版本:
宝塔面板升级PHP版本
如果您与其他提供商合作,您可以通过自己的控制面板执行类似的过程。建议您联系您的虚拟主机以获取更多信息。
9. 评估您的文件权限
您网站的文件权限也可能被篡改。在这种情况下,WordPress可能会认为您无权查看您网站的某些区域,即使您仍被列为管理员。
要检查您站点的文件权限,您需要使用SFTP访问您的服务器。登录后,进入public_html目录并批量选择wp-admin、wp-content和wp -includes。右键单击这些文件夹并选择文件权限:
检查文件权限
在结果窗口中,确保选择了以下选项:
- 数字值设置为755。
- 勾选递归到子目录。
- 选择了仅应用于目录。
完成后单击“确定”。然后,突出显示public_html中的所有其他文件,右键单击它们,然后再次选择文件权限:
设置新文件权限
这一次,将权限窗口中的选项设置为以下内容:
- 数字值应该是644。
- 勾选递归到子目录。
- 应选择仅应用于文件。
然后,返回您的站点,看看这是否解决了问题,“抱歉,您无权访问此页面”消息消失了。
10. 创建一个新的 .htaccess 文件
如果上述策略均无效,则可能需要重置.htaccess文件。为此,请启动FTP并导航到您的public_html文件夹。您应该会在那里看到您的.htaccess文件。
接下来,您需要重命名现有的.htaccess文件,类似于我们在早期解决方案中重命名插件和主题文件的方式。诸如.htaccess_original或.htaccess_backup 之类的可识别的东西是理想的。
然后,右键单击该文件并选择“下载”。在文本编辑器中打开文件并将其内容替换为以下内容:
#BEGIN WordPress RewriteEngine On RewriteBase / RewriteRule ^index/.php$ - [L] RewriteCond %{REQUEST_FILENAME} !-f RewriteCOnd %{REQUEST_FILENAME} !-d RewriteRule . /index.php [L] #END WordPress
将此文件重命名为.htaccess并将其上传到您的服务器。如果此文件是“抱歉,您无权访问此页面”错误的来源,那么现在应该修复它。
11. 重置您的WordPress网站
在最坏的情况下,可能存在安装问题。要修复它,您必须重置您的WordPress网站。在此过程完成后,您有一个可以恢复的最近备份至关重要,因为重置您的站点会导致您丢失所有文章、页面和用户评论。
有几种方法可以做到这一点,包括通过使用WordPress插件以及使用WP-CLI(WordPress命令行)。最好将此路线保存为最后的手段,这样您就不会冒丢失网站内容的风险。
小结
至少可以说,被 WordPress 中的管理仪表板锁定是令人伤脑筋的。快速找到“抱歉,您不能访问此页面”错误的正确解决方案对于您的网站和您的安心都至关重要。
在这篇文章中,我们涵盖了此问题的各种可能原因和修复方法。让我们快速回顾一下:
- 恢复您网站的先前版本。
- 禁用所有插件。
- 激活默认主题。
- 确保您是管理员。
- 检查您的错误日志以查明原因。
- 确保您的数据库前缀正确。
- 在wp-config.php文件中查找更改。
- 升级到最新版本的php。
- 评估您的文件权限。
- 创建一个新的.htaccess文件。
- 重置您的WordPress网站。