如何修复 WordPress 网站上的 405 Method Not Allowed 错误
已发表: 2019-07-03如果有人在您的网站上看到错误页面,他们很可能会生气并离开。 这可能会导致大量的参与和销售损失。 要注意的一个特别常见的错误是“405 Method Not Allowed”消息。
此错误可能很难导航,因为它表明出现问题而没有告诉您发生的原因。 幸运的是,只要稍加努力和耐心,您就可以很快恢复正常运行。
在这篇文章中,我们将解释什么是 405 错误,并向您展示它可能出现的不同方式。 然后,我们将向您介绍一些可以在您的 WordPress 网站上修复此错误的方法。 让我们开始吧!
405 Method Not Allowed 错误是什么
当您管理一个网站时,几乎可以肯定您最终会遇到某种常见问题。 网站出现故障,链接中断,页面加载速度太慢。 尽管这些情况很常见,但无人看管可能会导致糟糕的用户体验。
不幸的是,有些问题比其他问题更难解决。 例如,考虑 405 Method Not Allowed 错误消息。 这是一种 HTTP 响应状态,表明 Web 浏览器已请求访问您网站的某个页面。
在这种情况下,您的 Web 服务器已接收并识别该请求,但拒绝了它使用的特定 HTTP 方法。 实际上,这意味着浏览器无法访问它所请求的页面。 您网站的访问者将看到一个错误页面,而不是他们正在寻找的内容:
谷歌浏览器

苹果浏览器

火狐

微软边缘

405 Method Not Allowed 错误不应与 404 Not Found 错误相混淆。 404 告诉您找不到请求的 URL 或输入错误。 另一方面,405 错误消息确认请求的页面确实存在(并且 URL 输入正确),但使用了不可接受的 HTTP 方法来发出初始请求。
405 方法不允许(短定义):
当 Web 服务器的配置方式不允许您对特定 URL 执行特定操作时,会出现405 Method Not Allowed错误。 它是一个 HTTP 响应状态码,表示服务器知道请求方法,但目标资源不支持。
查看我们的 405 Method Not Allowed 错误视频指南
405 方法不允许错误的变化
尽管 405 错误消息最常以我们上面显示的形式出现,但各种 Web 服务器、操作系统和浏览器可以通过多种方式呈现它。 问题的实际原因也可能因服务器而异,这可能会影响错误的出现方式。
以下只是您可能遇到的许多不同变体中的几个:
- 405 不允许
- 不允许的方法
- HTTP 405 错误
- HTTP 错误 405 – 方法不允许
- 不允许使用 HTTP 405 方法
不管它们如何出现,405 错误的问题在于它们很难解决。 这是因为他们让您知道出了问题,但他们没有告诉您问题的原因是什么。 在大多数情况下,由您自己找出根本原因并在可能的情况下进行修复。
如何修复 WordPress 网站上的 405 Method Not Allowed 错误(7 种可能的解决方案)
在我们开始讨论可能的解决方案之前,您需要为您的站点创建一个备份。 如果你犯了错误,这会给你一些可以依靠的东西。 许多网络托管服务提供商将定期站点备份作为其计划的一部分。 如果您在 Kinsta 有托管计划,则创建备份很简单。
一旦解决了问题,就该开始故障排除过程了。 我们在下面概述的方法是从最有可能解决问题到最不可能解决问题的,因此从顶部开始,逐步向下工作以获得最佳结果。
事不宜迟,让我们从列表中更简单的步骤之一开始。
1. 检查您是否输入了正确的 URL
这听起来可能有点太简单了,但 405 Method Not Allowed 错误的最常见原因是输入了错误的 URL。 大多数 Web 服务器都受到严格保护,旨在禁止访问不正确的 URL,以防止用户访问错误的页面(或尝试访问不存在的页面)。
因此,在继续之前,请仔细检查以确保您已正确输入了您希望访问的站点的 URL。 犯错比您想象的要容易——例如忘记一个字母或拼错一个单词。 您可能还会发现,只需刷新页面即可提示它正确加载。
2. 回滚任何最近的 WordPress 更新
更新是美妙的事情。 它们通常会带来大量令人兴奋的新功能,并且可以帮助修复任何持续存在的错误并修补安全漏洞。 然而,尽管他们的意图是好的,但更新偶尔会导致一些问题。

如果您在 405 Method Not Allowed 错误消息开始出现之前更新了 WordPress,则新代码可能是问题的根源。 这也适用于您最近升级的任何扩展或主题——尽管我们将在下一节中更关注这方面。
如果您觉得更新可能有问题,那么值得恢复到以前版本的 WordPress。 正如我们已经提到的,在执行此操作之前,请确保您已准备好完整的站点备份——您不想进行任何不可逆转的更改。
虽然您可以手动执行此操作,但回滚 WordPress 更新的最简单方法是使用插件。 有许多可用的选项,尽管 WP Downgrade 特别有效。 这个插件将在很大程度上自动化这个过程,这意味着你不太可能犯错误。
在您的武器库中拥有这样的工具也意味着您可以防止将来发生类似的问题。 当然,如果回滚最新更新不能解决问题,请记住重新更新您的站点或恢复您的备份。
通过一个统一的管理仪表板和站点备份变得简单(且可访问),最大限度地减少出错的可能性。 免费试用 Kinsta。
3.卸载新插件和主题
插件是任何 WordPress 网站的重要组成部分。 它们使您能够添加大量新功能,甚至可以自动化更复杂的流程。 主题同样重要。 没有它们,您将需要大量复杂的编码(或昂贵的开发人员)来创建一个美观的网站。
不幸的是,就像软件更新一样,这些扩展有时会产生问题。 这是因为在任何级别向您的站点添加功能都会完全改变其运行方式。 您使用的插件或主题可能存在问题,或者特定扩展可能与您网站的另一部分(甚至您的 WordPress 版本)发生冲突。
因此,您可能会发现卸载某些插件或主题可能有助于修复 405 Method Not Allowed 错误。 要开始此过程,您需要导航到 WordPress 仪表板的插件部分。 在此页面上,您应该能够看到已安装的所有插件的完整列表:

从这里,您可以开始一次卸载一个插件。 卸载每个后,检查您的网站以查看错误是否已解决。 此过程可能需要一些时间才能完成,但它可以让您准确找出导致问题的插件(如果其中任何一个有问题):

一旦你检查了你的插件,你可以用你的活动主题重复这个过程。 如果您的主题或您的某个插件出现问题,您需要联系开发人员,删除插件或主题,或者寻找替代品。 这是我们关于如何安装新的 WordPress 主题的指南。
4.检查任何意外的数据库更改
尽管上述步骤应该可以解决任何与插件或主题相关的问题,但它并不能保证您的扩展所做的所有更改都已完全恢复。 对于许多 WordPress 插件来说尤其如此。 一旦您点击Install ,他们通常就可以完全访问您的数据库,这意味着他们的更改比您最初想象的要深入。
除非开发人员明确针对它进行编码,否则插件可能能够修改不“属于”它但由 WordPress 本身管理的数据库记录。 在这种情况下,插件可能不知道如何恢复对数据库记录的这些更改,因此它会在卸载过程中忽略它们。
诊断此特定问题可能很困难,但如果您仍然怀疑插件或主题是导致 405 Method Not Allowed 错误的原因,那么直接检查您的数据库是您最好的做法。 为此,您需要打开站点的数据库,并手动查看由扩展程序修改的表和记录。 如果您不确定要查找什么,此时与您的开发人员联系是一个明智的想法(以及此列表中的其余步骤)。
5. 确认您的服务器配置
您的网站可能运行在使用两种最流行的服务器软件选项之一的服务器上——Apache 或 Nginx。 事实上,它们共同为全球 84% 的 Web 服务器提供动力。 检查 Web 服务器软件的配置文件中是否有任何意外处理说明可能有助于确定 405 Method Not Allowed 错误的根本原因。
要确定您的 Web 服务器正在使用哪个应用程序,您需要寻找一个密钥文件。 例如,如果您的 Web 服务器正在运行 Apache,您应该能够在您网站的文件系统的根目录中找到一个 .htaccess 文件。
当您的应用程序位于共享主机上时,您可能会有一个与您的特定帐户相关联的用户名。 如果是这种情况,通常可以通过以下路径找到应用程序根目录:
/home/public_html/
因此,可以在以下位置找到 .htaccess 文件:
/home/public_html/.htaccess
找到 .htaccess 文件后,在文本编辑器中打开它并查找使用 Rewrite 指令的行。 这些是 Apache 中 mod_rewrite 模块的一部分,并定义了一个基于文本的模式,该模式将与所有输入的 URL 匹配。 如果访问者向您的站点请求匹配的 URL,则 RewriteRule 将适当地重定向访问者。
为了更好地证明这一点,这里有一个简单的 RewriteRule 匹配所有传入到 https://kinsta.com 的请求,并以 405 Method Not Allowed 错误代码响应:

正如您可能看到的,规则末尾有一个标记为 R=405 的标志。 这明确指出响应代码应为 405,向用户指示资源存在,但不允许提供的 HTTP 方法。 如果您在 .htaccess 文件中发现任何包含类似指令的奇怪 Rewrite 指令,请尝试使用 # 字符前缀暂时将它们注释掉。 然后,您可以重新启动 Web 服务器,以查看您的更改是否已解决问题。
请记住,如果您是 Kinsta 的客户,我们使用 Nginx 服务器,而不是 Apache。 如果您认为您的 Nginx 配置可能有问题,您可以联系我们的支持团队。
6.查看服务器端日志
几乎每个 Web 应用程序都会保留某种服务器端日志。 应用程序日志通常包含软件所做的所有事情的完整历史记录——从它请求的页面到它提供的数据库结果。
服务器日志略有不同,因为它们与运行应用程序的实际硬件有关。 他们通常会提供有关所有连接服务的健康和状态的详细信息,甚至只是服务器本身。
要查找您的 WordPress 服务器日志,您需要通过安全文件传输协议 (SFTP) 连接到您的站点。 在根目录中,您将看到一个名为 logs 的文件夹。 此文件夹中包含您的访问日志和 WordPress 错误日志。 它们应该看起来像这样:
- 访问日志
- 错误日志
从那里,您可以开始遵循与上一步中概述的过程类似的过程。 查看日志并记下任何看起来不合适的地方(或要求您的开发人员这样做)。 您还可以参考 codex 以获取 WordPress 中的其他调试信息。
7. 调试您的应用程序代码或脚本
如果前面的步骤都没有成功,则可能表明您的 WordPress 安装中的某些自定义代码存在问题。 确定这是否是 405 Method Not Allowed 错误的唯一方法是对其进行调试。
理想情况下,您需要将整个安装复制到在线或本地开发区域,例如临时站点。 从那里,您可以开始逐步调试过程,这将根据您的站点及其附加软件而有所不同。
不幸的是,这里没有快速解决方法。 您必须准备好花时间梳理您网站的每个部分,以找出任何看起来不合适的地方。 但是请记住,一个完全可操作的站点是值得的。
如果这些解决方案都不起作用怎么办
如果您仍在阅读,这可能意味着我们上面概述的解决方案仍未修复 405 Method Not Allowed 错误。 这通常表明发生了更复杂的问题,除非您是经验丰富的开发人员,否则您不太可能亲自解决问题。
在这种情况下,您可以做的最好的事情通常是直接联系您的托管服务提供商。 您应该可以通过实时聊天或票务服务获得 24/7 的客户支持。 您也可以通过电子邮件或电话联系您的房东,尽管选择实时聊天可能会提供更快的解决方案。
概括
无论您的网站经过多么精心优化,您几乎都不可避免地会在某个时候遇到至少一条错误消息。 发生这种情况时,快速解决问题很重要,这样可以让访问者对您的网站感兴趣。 幸运的是,尽管 405 Method Not Allowed 错误可能会令人困惑,但通常可以通过一些故障排除来修复它。
让我们回顾一下您可以尝试修复 WordPress 网站上的 405 错误的七种方法:
- 检查以确保您在地址栏中输入了正确的 URL。
- 回滚任何最近的 WordPress 更新,以区分是否是导致问题的原因。
- 一次卸载任何新插件或主题。
- 确保没有任何意外的数据库更改。
- 确认服务器的配置。
- 查看 WordPress 存储的服务器端日志。
- 尝试调试您的应用程序代码或脚本。
您对 405 Method Not Allowed 错误还有其他问题吗? 或者您是否希望我们介绍另一个常见的错误消息? 在下面的评论部分让我们知道!