如何在几分钟内修复“错误代码 405 方法不允许”

深入解析 405 Method Not Allowed 错误

在访问网站时遇到任何错误,对用户和网站所有者而言,都是令人沮丧的经历。其中,405 Method Not Allowed 错误尤其令人头疼,它可能导致访问者对您的网站失去信心,转而寻找其他替代方案,从而使您错失宝贵的互动和销售机会。

当服务器接收到对合法网站的请求,但拒绝用于该请求的 HTTP 方法时,就会返回 405 响应状态。通常,服务器不会提供拒绝的详细理由。虽然这种情况不常见,但它会影响您的浏览体验,具体取决于您所使用的浏览器和操作系统。

在本文中,我们将深入分析 405 Method Not Allowed 错误的根本原因。然后,我们将提供详细的故障排除指南,帮助您在几分钟内解决问题,确保您的网站重新平稳运行。现在,让我们开始吧!

405 Method Not Allowed 错误详解

当 Web 服务器通过浏览器接收到请求,但拒绝与该请求相关的特定 HTTP 方法时,就会出现 405 Method Not Allowed 错误。此 HTTP 响应状态代码表明客户端(即 Web 浏览器)和服务器之间存在问题。此外,它被归类为客户端错误(4xx 状态回复)。

每当 Web 浏览器尝试访问特定网页或使用不支持的 HTTP 方法在网站上执行操作时,服务器都会发送 405 错误。然而,此错误消息也可能以以下形式显示:

  • 405 不允许
  • 不允许的方法
  • HTTP 405 错误
  • HTTP 错误 405 – 方法不允许
  • 不允许的 HTTP 405 方法

需要强调的是,405 错误通常是由客户端问题引起的。这意味着 Web 浏览器的请求是导致问题的根源。但是,在某些情况下,Web 服务器对客户端请求的响应也可能导致此错误。

无论哪个浏览器报告错误,解决 405 Method Not Allowed 错误的过程都是相同的。您可以按照既定的故障排除步骤来解决此问题,并恢复对网站的正常访问。

因此,在深入了解解决错误的具体步骤之前,我们先来了解一下导致此错误的一些常见原因。

405 Method Not Allowed 错误背后的原因

为了有效地应用正确的修复方法,并确保客户端和服务器之间的无缝通信,必须准确地找出 405 错误的来源。以下是导致此错误的一些常见原因:

不正确的 HTTP 方法

HTTP 协议定义了客户端(通常是 Web 浏览器)与 Web 服务器进行通信的多种常用方法,包括 GET、POST、PUT、DELETE、HEAD 和 OPTIONS。

如果客户端尝试使用不支持或不正确的 HTTP 方法访问特定资源,服务器将返回 405 错误。例如,如果您尝试使用 GET 方法而不是正确的 POST 或 PUT 方法来更新数据,则可能会出现此错误。

不准确的服务器配置

405 错误可能由 Web 服务器配置问题引起。服务器配置可能不支持客户端使用的 HTTP 方法。这可能是由于服务器设置不当、配置错误,甚至服务器无法识别某些 HTTP 方法所致。

跨域请求

当发生跨域请求时,同源策略可能会失效,从而导致 405 错误。浏览器中存在安全机制,用于阻止脚本从与原始网页(同一来源)不同的站点请求资源。

如果客户端脚本尝试使用不支持的 HTTP 方法发送跨域请求,服务器将拒绝该请求并显示 405 错误。

Web 应用程序防火墙限制

在某些情况下,会实施 Web 应用程序防火墙 (WAF) 来保护 Web 服务器免受各种威胁。可以配置 WAF 来阻止使用某些被认为对应用程序有害或不必要的 HTTP 方法。

因此,WAF 将拦截尝试使用这些禁止方法之一的客户端发出的请求,并返回 405 错误。

访问控制和权限

服务器上不充分的权限或不正确的访问控制设置也可能最终导致 405 错误。为了防止未经授权的操作,当客户端尝试访问其没有必要授权的资源时,服务器可能会返回 405 错误。

现在您已经了解了 405 错误的常见原因,接下来我们将重点讨论一些故障排除方法:

查找 405 Method Not Allowed 错误的准确原因可能具有挑战性。为了尽量减少您解决此问题的精力,我们提供了以下方法:

验证网址

检查统一资源标识符 (URL) 是解决客户端 405 方法不允许错误的第一步。此问题通常是由于输入的 URL 不正确而引起的。

为了防止用户访问错误的站点(或尝试访问不存在的页面),大多数 Web 服务器都受到高度保护,并配置为拒绝访问不正确的 URL。因此,Web 浏览器无法访问不存在的页面。

请仔细检查 URL 是否有缺失字符、不一致或拼写错误。即使是看似微不足道的输入错误也可能导致此错误消息。因此,您的 URL 必须准确无误,才能正常提供网页服务。

进行必要的 URL 更改后,进行验证以确定网站现在是否可以正确加载。在浏览器中输入更新后的 URL,检查目标页面是否按预期显示。

撤消最近的更新

更新是必要的,因为它们为您的 WordPress 网站带来了错误修复和最新的功能增强。但有时,升级可能会导致问题,包括 405 Method Not Allowed 错误。

找出最近的更新:如果在实施最近的更新后遇到 405 Method Not Allowed 错误,那么这可能是问题的原因。这适用于 WordPress 核心更新,以及主题和插件的任何更新。

考虑回滚:如果您认为升级是问题的根源,请考虑返回到之前的 WordPress 版本。在继续之前,请确保您拥有网站的完整备份。在防止网站发生任何永久性更改之前,务必进行备份。

使用插件进行回滚:虽然有手动回滚选项,但使用插件可以加快此过程。因此,我们建议使用 WP Downgrade 插件来恢复到以前的版本。它简化了回滚过程,减少了出现错误的几率。

精确执行回滚:您可以使用 WP Downgrade 插件轻松启动回滚过程。要进行精确的版本降级,只需按照说明操作并输入您想要恢复的版本即可。

监控并继续:检查网站的稳定性,如果修复了 405 Method Not Allowed 错误,则回滚到最新版本。一旦确定问题已解决,您就可以决定是重新应用更新,还是使用备份回滚到最新版本。

卸载插件和主题

插件和主题在增强 WordPress 网站的功能和视觉效果方面发挥着重要作用。您可以使用主题自定义网站的外观,并使用插件引入新功能并简化复杂的任务。

识别潜在问题:了解插件和主题可能导致问题非常重要,就像软件升级一样。这是因为新功能的添加可能会改变网站的运行方式。此外,多个插件和主题与 WordPress 版本之间也可能存在冲突或兼容性问题。

卸载有问题的插件:考虑删除可能导致 405 Method Not Allowed 错误的插件。首先,转到 WordPress 仪表板上的“插件”选项卡。您可以在此处找到所有已安装插件的完整列表:

  • 登录到您的 WordPress 管理仪表板
  • 导航到 插件 > 已安装的插件

按顺序卸载和测试插件:您可以单独卸载每个插件来开始故障排除过程。每次删除后检查您的网站,看看错误是否仍然存在。这种有条理的方法有助于找出导致问题的具体插件:

  • 停用插件。
  • 检查您的网站是否有错误。
  • 如果错误仍然存在,请重新激活该插件并继续下一个。

解决主题相关问题:在评估完插件后,继续评估当前主题。要确定问题是否由主题引起,请重复测试和卸载步骤:

  • 访问 WordPress 仪表板中的“外观”部分。
  • 激活默认主题(例如,Twenty Twenty-Three)。
  • 检查错误是否仍然存在。

决定正确的操作:如果该插件对于您网站的运营或业务目标至关重要,请联系开发人员。否则,请考虑删除或寻找替代方案。但是,请优先考虑那些能够保持网站功能,而不会导致任何错误的插件或主题。

检查数据库修改

405 Method Not Allowed 错误可能是任何类型的数据库修改的结果。您的网站上安装的不同插件或主题可能会有很多授权。此外,这些主题和插件可以访问您的数据库。

因此,删除扩展程序并不一定能够解决网站上发生的 405 错误。您必须检查并解决在数据库中所做的更改。

访问数据库和 SQL 选项卡:根据您使用的数据库类型,检查数据库中的更改时,必须遵循不同的方法。要评估数据库调整,您可以执行以下操作:

  • 使用登录凭据访问您的 cPanel。
  • 向下滚动到数据库部分并单击 phpMyAdmin。

  • 现在,从 phpMyAdmin 的左侧选择您的数据库。

访问 SQL 选项卡并运行查询:在此阶段,您需要输入查询并替换它,以查找最新更新中的异常情况。

  • 选择数据库的 SQL 选项卡。

  • 输入以下查询,并将 dbname 替换为您的数据库名称。
      SELECT
        UNIX_TIMESTAMP(MAX(UPDATE_TIME)) AS last_update
      FROM
        information_schema.tables
      WHERE
        TABLE_SCHEMA = 'dbname'
      GROUP BY
        TABLE_SCHEMA;
    

找出可疑的表和记录:检查数据库中的每个表和记录,看看是否有任何可能被插件篡改的记录。如果发现任何非法的更改,请继续执行下一步。

撤消不必要的更改:快速撤消对数据库所做的任何不必要的更改。此阶段可能包括返回到较早的配置或执行某些修改。

希望通过有条不紊地遵循上述过程,现在可以解决 405 Method Not Allowed 错误。

验证您的服务器配置

您可以通过 cPanel 验证服务器配置,并验证是否有任何潜在的更改导致 405 错误。请检查以下步骤:

访问 cPanel:通过登录您的帐户来访问托管公司提供的 cPanel。您可以使用此平台处理网站的许多元素,包括服务器设置。

找到文件管理器:转到 cPanel 的“文件”部分,然后选择“文件管理器”。您可以借助此工具浏览和管理网站文件夹中的文件。

进入根目录:进入文件管理器后,找到并选择网站的根目录。通常,它的名称为“public_html”或与您的域名匹配。

浏览并修改 .htaccess 文件:在根目录中搜索 .htaccess 文件。右键单击该文件后,从菜单中选择“编辑”。然后您就可以更改文件的内容。

检查并注释掉重写指令:在 .htaccess 文件中查找包含重写指令的行。URL 的更改和重定向由这些指令控制。

调查可能导致 405 Method Not Allowed 错误的任何可能的指令。在包含行的末尾添加 “#” 井号标签 [R=405, L] 。

    RewriteEngine on
    RewriteCond %{REQUEST_URI} ^/users/create/?.*$
    RewriteCond %{REQUEST_Method} = GET
    RewriteRule ^(.*)$ http://xyz.com [R=405,L]
  

保存修改:进行适当的调整后,将修改保存到 .htaccess 文件。另外,请确保您的修改准确且与故障排除过程一致。

测试和观察:考虑有问题的重写指令,并访问您的网站以检查其可用性。因此,请留意 405 Method Not Allowed 警告。如果问题得到解决,则意味着注释掉的指令是导致该问题的原因之一。

探索服务器端日志

大多数在线应用程序都会保留服务器端日志,以跟踪其交互和活动。应用程序日志提供所有程序操作的完整历史记录,例如请求的页面和数据库结果。

掌握区别:应用程序与服务器日志:区分应用程序日志和服务器日志。与应用程序日志相反,服务器日志与支持应用程序的基础设施有关。服务器日志可让您深入了解服务器的运行状况、状态和性能概述。

访问 WordPress 服务器日志:使用安全文件传输协议 (SFTP) 访问 WordPress 服务器的记录。找到目录源中的“logs”文件夹。该目录包含您的 WordPress 访问日志和错误日志,名称分别为:

  • 访问.log
  • 错误日志

浏览日志:使用与前面阶段类似的方法,按顺序检查数据。此外,检查内容是否有任何可能表明存在问题的异常条目。此外,如有必要,您可以与开发人员合作,并进行彻底的分析。

寻求开发人员帮助:如果您遇到看起来不寻常或需要专家解释的日志条目,请咨询您的开发人员。他们的专业知识可以帮助识别异常情况以及导致 405 Method Not Allowed 错误的可能原因。

验证 A 记录

要解决 405 Method Not Allowed 错误,请查看您的域名系统 (DNS) 记录。重点关注 A 记录,它是一种将域或子域映射到 IP 地址的 DNS 记录。使用 cPanel 验证 A 记录的过程如下:

登录您的 cPanel 帐户:登录您的托管提供商提供的 cPanel 帐户,以访问您的 DNS 记录。此操作可促进 A 记录的验证,从而确保其真实性。

访问 DNS 区域编辑器:在 cPanel 中,向下滚动到“域”部分,然后单击“区域编辑器”选项。此实用程序使您能够管理和修改您的域的 DNS 记录。

检查 A 记录详细信息:访问您的 DNS 区域编辑器并查看 A 记录的详细信息。此外,您还需要验证以下详细信息:

  • 类型:确保记录类型正确设置为 A。
  • 名称:如果域或子域对应于 IP 地址,请确保名称与“@”对齐。

  • 指向:验证域或子域是否准确指向预期的 IP 地址。
  • 生存时间 (TTL):评估 TTL 值,指示 DNS 解析器缓存查询的持续时间。典型的设置为 14400 秒或 4 小时,尽管这可能因您的托管提供商而异。

重置文件和文件夹权限

要解决 405 Method Not Allowed 错误,您还可以将文件权限恢复为其默认值。按照以下分步方法,使用 cPanel 重置文件和文件夹权限:

  • 登录您的 cPanel
  • 导航到“文件”部分并单击“文件管理器”

  • 选择您想要重置权限的任何文件或文件夹。
  • 右键单击文件或文件夹,然后单击“更改权限”。

  • 在“更改权限”窗口中,您将看到代表所有者、组和公众权限的数值。
  • 现在,将权限设置为默认值,该值应该是:
    • 目录:755 (drwxr-xr-x)
    • 文件:644 (-rw-r–r–)

如果您继续阅读,则表示前面讨论的方法尚未解决 405 错误。这表明您的问题较为复杂,不太可能由您自己解决。此外,您可能缺乏先进的技术技能,或者不愿意在不冒丢失网站数据的风险的情况下解决问题。

但是,最佳的做法应该是立即联系您的托管服务提供商。只需访问他们的 24/7 客户支持、实时聊天和票务系统,即可获得快速解决方案。

总结

通过正确的解决方案,您可以解决任何网站问题,包括 405 Method Not Allowed 错误。因此,我们设计了上述方法来有效解决此错误,并确保您网站的可用性。此外,请考虑实施以下预防措施,以避免出现此错误:

  • 定期检查服务器端日志和 Web 服务器配置。
  • 安装与您的网站不冲突的兼容主题和插件。
  • 您网站的所有 URL 条目都应该是准确的。
  • 仅允许针对特定资源批准的 HTTP 方法,跳过未经授权的尝试。
  • 实施强大的用户身份验证,以确保只有授权用户才能执行特定操作。
  • 安装 WAF,以拦截并防止未经授权的方法请求到达服务器。
  • 定期进行代码审查,以识别 HTTP 方法中的任何差异或缺陷。

您还可以探索一些最佳方法来修复 WordPress 网站上的 “406 Not Acceptable” 错误。