如何修复 WordPress 网站上的“406 不可接受”错误

在管理 WordPress 网站时遇到错误是很常见的,“406 Not Acceptable”错误就是其中之一。 此错误代码通常称为任何人在访问站点时都可能遇到的 HTTP 响应或状态代码。

它破坏了网站的功能和可访问性,导致网站所有者和访问者感到沮丧。

了解“406 Not Acceptable”错误背后的原因以有效地分析和修复它至关重要。 否则,它会使您的网站看起来不专业且访问不安全。 此外,如果您的 WordPress 网站上仍然存在错误,您可能会失去流量或销售额。

在本文中,我们将首先向您介绍“406 Not Acceptable”错误。 然后我们将探讨此错误背后的原因。 最后,我们将为您提供正确的解决指南。 因此,让我们深入了解并让您的 WordPress 网站再次顺利运行。

什么是“406 不可接受”错误?

“406 Not Acceptable”错误是服务器无法处理用户请求时出现的 HTTP 状态代码。 由于客户端的请求头无效,服务器返回消息“406 Not Acceptable”。

这是一个客户端错误,这意味着服务器无法以符合客户端请求中规定的规范的方式提供请求的内容。

406 错误通常表示用户无法访问 WordPress 网站上的特定页面或媒体资产。 因此,他们会看到一条错误消息,而不是预期的材料。 此外,消息可能因使用的浏览器而异。

那么,“406 Not Acceptable”错误的主要原因是什么? 这是客户端和服务器之间发生的内容协商过程。

内容协商是服务器和客户端通过对话来决定显示资源的最佳方式的过程。 一些示例是语言首选项、字符集和媒体文件类型。

406 错误消息的内容和格式可能因特定网站、托管环境和用于访问该站点的浏览器而异。

但有时,错误消息可能包含有助于找出错误背后原因的有用信息。 但是,有时错误消息仅显示“406 Not Acceptable”而没有提供更多详细信息。

现在您知道什么是“406 Not Acceptable”错误以及它在 WordPress 上的表现。 让我们找出其背后的一些常见原因。

WordPress 中“406 不可接受”错误背后的原因

当您通过浏览器(Chrome、Edge、Brave 等)访问网页时,它会与服务器交互以请求所需的文件和内容。

  作家如何使用 GitHub 存储他们的作品

通过这种交互,服务器可以了解您想要查看的内容。 因此,它理想地通过向用户提供适当的信息来做出反应。

在初始请求阶段,浏览器包含一个“接受”标头,描述它可以接受的文件类型。 因此,标头本身会通知服务器创建整个网站或网络应用程序的首选文件传输格式。

但是,有时服务器无法遵守客户端或浏览器设置的规则。 因此,它不会以正确的格式传送内容,从而导致“406 不可接受”错误。 它表示服务器无法提供预期的数据传递。

以下是 WordPress 中“406 不可接受”错误背后的一些深入解释:

内容类型不匹配

当服务器无法以正确的格式提供请求的内容时,会出现“406 Not Acceptable”错误。 该格式应与请求标头中提供的“Content-type”兼容。

例如,如果客户端请求并期望来自服务器的 HTML 响应,则服务器只能发送 JSON 或 XML。 因此,会导致内容类型不匹配而导致显示错误。

客户端的请求包含一个“接受”标头,其中列出了它愿意为响应接受的媒体类型。 因此,如果服务器无法提供任何列出的媒体格式的内容,则会出现一条错误消息,指出“406 Not Acceptable”。

如果服务器无法提供任何列出的媒体格式的内容,将出现一条错误消息,指出“406 不可接受”。 此外,当服务器不接受请求的媒体格式或客户端请求中缺少“Accept”标头时,就会发生这种情况。

无效的语言首选项

响应的首选语言由客户端请求中的“Accept-language”标头指示。 因此,如果服务器没有以任何列出的语言访问请求的内容,则会出现“406 不可接受”错误。

如果服务器不支持请求的语言,就会发生这种情况。 此外,如果客户端的首选语言与可访问的内容不匹配,也会发生这种情况。

未满足的字符集要求

客户端请求可以接受的字符集列在“Accept-Charset”头中。 如果服务器无法以任何列出的字符集提供请求的内容,则会弹出代码为“406 Not Acceptable”的错误消息。

如果服务器不支持请求的字符集,就会发生这种情况。 此外,当客户端的字符集选择与可访问的内容发生冲突时,也会发生这种情况

Mod_Security 强制执行的规则

Mod_security 是一个服务器模块,它通过应用某些规则来增加额外的安全层。 同时,一些 mod_security 规则可能过于严格,并认为某些客户端请求具有潜在危险。

当客户端的请求触发这些规则之一时,可能会导致生成“406 Not Acceptable”错误。

冲突的主题或插件

已安装的主题或插件之间的冲突也可能导致“406 不可接受”错误消息。 这些组件的不兼容性或有缺陷的代码可能会阻止正确创建内容,从而导致错误。

因此,找到并修复导致兼容性问题的任何插件或主题至关重要。

服务器配置错误

错误或不正确的服务器配置可能会导致“406 Not Acceptable”错误。 不正确的 MIME 类型或错误的内容协商设置就是这样的例子。

浏览器可能会定期向服务器请求某种 MIME 类型。 MIME 类型的示例包括 JPEG 图像、某些视频格式和简单文本。 如果服务器无法提供请求的 MIME 类型,例如 JPEG 图片,您将收到 406 错误。

缓存问题

通过保存先前生成的响应的副本,缓存可以提高网站的速度。 但是,如果响应已过期、错误或未正确清除,缓存的回复可能会导致“406 错误”。

您需要确保缓存插件和服务器端缓存不会阻碍内容交付。 因此,您需要定期检查并清除缓存以防止出现此错误。

由于您已经了解了“406 Not Acceptable”错误的潜在原因,现在是解决错误的时候了。

有多种方法可以修复 WordPress 中的“406 不可接受”错误。 但我们将通过最简单的方法来解决问题。 但在对您的站点进行任何更改之前,您必须对整个站点及其数据库进行备份。

  11 款最佳 WiFi 温湿度传感器

使用插件

您可以通过访问站点的 .htaccess 文件轻松修复“406 Not Acceptable”错误。 只需完成以下步骤:

  • 登录到您的 WordPress 网站的仪表板。
  • 转到插件 > 添加新并在搜索框中输入 WP 文件管理器
  • 然后安装并激活插件
  • 单击文件管理器,然后右键单击 public_html 文件夹中的 .htaccess 文件。
  • 现在单击代码编辑器并编辑 .htaccess 文件
  • 将以下代码放入您的代码编辑器中。 将代码放在图像中的确切位置。
  • <IfModule mod_security.c>
        SecFilterEngineOff
        SecFilterScanPOSTOff
        </IfModule>

    现在让我们继续进行另一个修复 WordPress 406 错误的过程。

    在对 WordPress 中的“406 不可接受”错误进行故障排除时,您可以查看请求标头。 这是一个循序渐进的方法:

  • 确保“接受”标头格式正确,并适当列出允许的媒体格式。
  • 从“接受”标头中删除任何冲突或不受支持的值。
  • 验证“Accept-Language”和“Accept-Charset”标头是否准确。
  • 你可以拜访
  • 验证插件和主题兼容性

    要修复“406 Not Acceptable”错误,您还需要检查您的主题和插件的兼容性问题。

  • 停用 WordPress 网站上的每个插件。
  • 激活默认主题,例如二十一
  • 现在看看你的“406 Not Acceptable”错误是否消失了
  • 如果没有,一次交换一个主题并重新激活插件以找到冲突的主题
  • 更新或替换导致问题的任何过时或不兼容的插件或主题。
  • 检查您的服务器配置

    您需要确保您的服务器配置符合您的 WordPress 站点的要求。 只需执行以下过程:

  • 检查服务器的内容协商设置、MIME 类型和 mod_security 规则
  • 使这些设置适合您的 WordPress 站点。
  • 如果您需要进一步的帮助,请与服务器管理员或您的托管公司联系。
  • 清除您网站的缓存

    清除缓存是解决“406 Not Acceptable”错误的重要步骤。 以下是您可以遵循的步骤:

  • 使用任何缓存插件(例如 W3 Total Cache 或 WP Super 缓存)清除 WordPress 站点的缓存。
  • 清除任何可能保存过时或损坏响应的服务器端缓存,例如 Varnish 或 Redis 缓存。
  • 内容交付网络问题

    如果您使用 CDN 来提高站点的性能,请验证其配置。 您需要确保它提供您网站上文件的最新版本。 这些是您可以遵循的步骤:

    • 清除 CDN 的缓存以确保它提供最新版本的 WordPress 站点。
    • 验证 CDN 是否已准确配置以提供所需的内容。
    • 检查您的 WordPress 站点和 CDN 之间的任何冲突。
      11 个用于转换、格式化、验证等的 CSV 工具

    测试多个设备和浏览器

    如果任何特定于浏览器的问题导致“406 不可接受”错误,请按照以下步骤解决它:

  • 在多种浏览器和平台(台式机、移动设备和平板电脑)上测试您的网站,包括 Safari、Firefox、Chrome 等。
  • 检查特定浏览器或设备是否是“406 不可接受”问题的原因。
  • 查找特定于浏览器的任何 CSS 或 JavaScript 问题并采取适当的措施。
  • 寻求专家协助

    如果您已尝试上述所有方法仍无法解决错误,请按照以下步骤操作:

  • 咨询 WordPress 开发人员以解决问题
  • 与托管公司的支持人员取得联系
  • 将问题和您之前尝试过的操作深入告知他们。
  • 针对“406 Not Acceptable”错误的最佳预防实践

    406 错误可能会在多种情况下发生,但您可以通过一些小的预防措施来修复它。 因此,您需要采取积极主动的方法来维护您的站点并实施优化。

    以下是您可以采取的预防措施,以减少遇到“406 Not Acceptable”错误的几率:

  • 定期更新 WordPress 核心、插件和主题。 大多数情况下,更新包括兼容性改进和错误修复,这降低了“406 不可接受”错误的可能性。
  • 在安装之前验证新的插件和主题是否与当前的 WordPress 版本兼容。 另外,不要忘记查看用户反馈、评级和支持论坛来衡量插件或主题的可靠性。
  • 优化 WordPress 网站的基本文件类型,例如图像、脚本和样式表。 您可以通过压缩减少文件来减少服务器相关错误的可能性。
  • 确保您的服务器设置正确以处理各种文件格式和内容类型。 此外,请与您的托管服务提供商联系以确保正确完成 MIME 类型和内容协商设置。
  • 使用值得信赖的 CDN 将您网站的内容分发到全球不同的服务器上。 它有助于减少服务器负载,提高网站速度,并降低遇到服务器相关问题的可能性。
  • 实施缓存机制,例如服务器端缓存或缓存插件,以存储和传送经常访问的内容。
  • 定期进行安全审核以发现漏洞并确保您的网站免受攻击者的侵害。
  • 经常检查服务器日志是否有任何奇怪或重复的问题,例如“406 Not Acceptable”错误。 日志可以揭示错误的来源,从而帮助您快速发现和修复问题。
  • 最后的想法

    在浏览网站时,面对“406 Not Acceptable”对于访问者来说真的很烦人。 此外,网站所有者或服务提供商可能会特别痛苦。 因此,我们在本指南中提供了解决“406 Not Acceptable”错误的最佳方法。

    尽管 406 错误并不是最常见的 WordPress 问题之一,但您应该对此保持谨慎。

    通过解决我们提到的问题可以避免此错误。 通过修复错误,您将能够为您的用户提供更流畅的浏览体验,并且永远不会失去访问者。

    您还可以探索如何修复 WordPress 中的“无法打开没有此类文件或目录的流”错误。