分类: 学习

  • 修复“Failed to Load Resource: net::ERR_BLOCKED_BY_CLIENT”错误的4种方法

    错误类型:
    浏览器错误
    错误名称:
    加载资源失败
    英文名称:
    Failed to Load Resource: net::ERR_BLOCKED_BY_CLIENT
    错误描述:
    有时,”failed to load resource”错误是缺少服务器文件的结果。 URL错字也可能导致它产生。然而,更常见的是浏览器扩展程序阻止了请求。
    错误变体:
    chrome failed to load resource: net::ERR_BLOCKED_BY_CLIENT
    woocommerce failed to load resource: net::ERR_BLOCKED_BY_CLIENT
    更多信息

    修复“Failed to Load Resource: net::ERR_BLOCKED_BY_CLIENT”错误的4种方法

    大多数人都习惯于偶尔出现的电脑故障。但是,如果您正面临“ERR_BLOCKED_BY_CLIENT”错误,您可能不知道下一步应该做什么。有几个不同的问题可能会导致此问题,从而使故障排除成为一项挑战。

    幸运的是,有一种方法可以避免混淆。通过了解此错误的所有可能解决方案,您可以以最小的摩擦快速解决问题。

    在本文中,我们将介绍您可能会看到”ERR_BLOCKED_BY_CLIENT”错误的原因。然后我们将介绍四种方法来帮助您解决问题。让我们潜入吧!

    1. 为什么会产生”Failed to Load Resource”错误
    2. 如何修复”Failed to Load Resource: net::ERR_BLOCKED_BY_CLIENT”错误

    为什么会产生”Failed to Load Resource”错误

    虽然消息”ERR_BLOCKED_BY_CLIENT”很常见,但这可能不是您看到的确切文本:

    Failed to Load Resource: net::ERR_BLOCKED_BY_CLIENT错误

    Failed to Load Resource: net::ERR_BLOCKED_BY_CLIENT错误

    您可能会看到一个变体,例如:

    • failed to load resource: net::ERR_BLOCKED_BY_CLIENT
    • chrome failed to load resource: net::ERR_BLOCKED_BY_CLIENT

    或者,消息可以是特定于应用程序或插件的,例如:

    • woocommerce failed to load resource: net::ERR_BLOCKED_BY_CLIENT

    您也可能在YouTube和Facebook等热门网站上看到此错误。不管错误通知的措辞如何,效果通常是相同的:您无法查看页面的一部分。

    不可否认,面对这种情况会令人沮丧。不过,错误消息可以帮助您了解原因。因此,与导致内容无法正确显示的其他问题相比,您可能能够更快地解决此类错误。

    有时,”failed to load resource”错误是缺少服务器文件的结果。 URL错字也可能导致它产生。然而,更常见的是浏览器扩展程序阻止了请求。

    广告拦截器和其他内容版主可能会干扰网页的常规部分。这些工具通过在网站上搜索特定的词和模式来工作。任何相似之处都可能意味着您的文件被列入阻止列表。幸运的是,有几种方法可以防止这种情况发生。

    如何修复”Failed to Load Resource: net::ERR_BLOCKED_BY_CLIENT”错误

    如果您遇到此错误,请不要担心!以下是您可以使用的四种方法来解决它。我们建议您依次完成每个解决方案。如果一个不能解决问题,你可以尝试下一个。

    1. 将浏览器重置为默认设置

    我们将从一个常见问题开始:您的浏览器。某些浏览器的设置可能会干扰特定资源的显示。因此,您可能希望首先重置其中的一些选项。请注意,此方法还将禁用扩展程序,例如可能导致问题的广告拦截器。

    Google Chrome中的一个常见罪魁祸首是缓存。要重置Chrome缓存,请打开浏览器。通过在地址栏中输入 “chrome://settings/” 导航到您的Chrome设置。然后向下滚动以找到标题为隐私和安全的部分,然后选择清除浏览数据

    Chrome浏览器的“隐私和安全”设置

    Chrome浏览器的“隐私和安全”设置

    浏览器将带您进入具有多个选项的屏幕。确保时间范围是所有时间并且所有三个选项都被选中。准备好后,单击清除数据

    Chrome缓存清除过程

    Chrome缓存清除过程

    清除缓存后,这可能会重置所有产生错误的选项。检查相关页面以查看资源现在是否正确显示。如果没有,您也可以尝试重置Chrome flags。

    Chrome flags是浏览器的实验性功能——默认情况下大多数都是关闭的。但是,您可能仍在使用一些,因为它们可以扩展功能。要重置您的标志,请在地址栏中输入 “chrome://flags/”。您可以一一禁用它们,也可以单击右上角的全部重置

    Google Flags的主页

    Google Flags的主页

    您也可以按照类似的步骤清除所有主要浏览器上的缓存。完成此过程后,重新启动浏览器并尝试再次查看资源。如果它仍然没有出现,您可以继续使用以下方法。

    2. 重命名任何有问题的文件

    解决这个问题的另一种方法是直奔源头。如果审核扩展程序阻止了您的内容,可能是因为它的文件名。因此,您需要尝试重新上传具有不同名称的资产。

    用户不太可能停用他们的广告拦截器,因此这通常是解决问题的直接方法。首先查找包含广告相关术语的任何文件名。它可以由诸如“ad”、“advertising”或“promotion”之类的词组成。

    如果您找到这样的标题,请考虑在它们的位置使用与后相关的关键字。例如,一篇分析新软件的帖子应该在图片标题中包含该软件的名称。除了有助于防止不正确的块,这还可以提高您的网页排名。

    3. 使用广告拦截器调试页面

    第三方工具可能是“ERR_BLOCKED_BY_CLIENT”错误的原因,但它们也可能是解决方案。许多用户选择利用提高生产力的Chrome扩展程序,这些扩展程序通常带有有用的调试功能。我们将在本演示中使用Adblock Plus ,因为它是一个受欢迎的选项。虽然我们使用此工具通过Chrome演示这些步骤,但请注意,您也可以将它用于Mozilla Firefox和其他主要浏览器。

    首先,导航到您要调试的页面。接下来,右键单击页面上的任意位置并选择Inspect 。然后点击右上角的AdBlock标签:

    “AdBlock”选项卡。

    “AdBlock”选项卡。

    您将被带到一个重点介绍AdBlock操作的检查页面。您可以向下滚动控制台以查看“failed to load resource”错误的所有实例:

    Chrome控制台AdBlock Plus选项卡显示了一些错误消息

    Chrome控制台AdBlock Plus选项卡显示了一些错误消息

    从这里,您可以查看每个错误并查看是否存在模式。在上面的示例中,许多“ERR_BLOCKED_BY_CLIENT”消息都是由Google Ads引起的。

    一旦你看到一个模式,你就可以确定如何避免阻塞。例如,您可以记下这些条款并防止将来使用它们。

    您可以使用这些知识来重命名或重新发布您的资源。对于与广告没有密切关系的文件名来说,这是必不可少的。

    4. 将网站列入白名单(如果您是访客)

    最后,您可能不拥有无法访问的站点。如果是这种情况,您可以将相关网站“列入白名单”,以确保所有内容都能正确显示。为此,请导航到您的Adblock Plus设置页面。从左侧菜单中,选择自定义,然后向下滚动以找到停止屏蔽广告的选项:

    添加屏蔽广告白名单网址

    添加屏蔽广告白名单网址

    在这里,您可以在框中输入要访问的网站名称,然后单击“确定”!将其添加到许可名单中。但是,请考虑这样做会关闭该页面或网站的所有广告拦截。

    如果您在其他网站上发现“ERR_BLOCKED_BY_CLIENT”错误,您可能需要联系所有者并告知他们。您可能不是唯一看到该消息的人,上述任何操作都只会为您解决问题。向站点发出警报有助于解决根本原因

    小结

    大多数错误消息都是不受欢迎的。它们表示出现问题,通常会中断您的浏览。幸运的是,您可以通过调整一些设置来解决“failed to load resource: net:: ERR_BLOCKED_BY_CLIENT” 错误。在本文中,您学习了四种解决这一紧迫浏览问题的方法:

    1. 将浏览器选项重置为其默认设置。
    2. 重命名标题中包含与广告相关的术语的文件。
    3. 使用Adblock Plus等广告拦截器来调试页面。
    4. 将您要访问的网站列入白名单。
  • 如何修复406 error或者406 Not Acceptable错误

    错误类型:
    HTTP错误
    错误名称:
    HTTP 406错误码
    英文名称:
    HTTP 406 Error
    错误描述:
    406错误消息中的外观和文本取决于用于访问该网站的网站、主机和浏览器。 406错误可能会揭示错误的来源。其他时候,您可能会发现这是一个简单的“406 Not Acceptable”错误,没有任何信息可以帮助您解决问题。
    错误变体:
    406 Not Acceptable
    An appropriate representation of the requested resource could not be found on this server
    更多信息

    如何修复406 error或者406 Not Acceptable错误

    服务器和客户端错误偶尔会发生,我们通常将它们称为HTTP响应或状态代码。 “406 error”或“406 Not Acceptable”错误就是这样一种HTTP响应。

    您可能会在访问网站时看到406 error。或者更糟的是,在您的网站上。虽然它可能会激怒普通互联网用户,但对于网站或应用程序所有者来说,它可能是可怕的。除了看起来有些不专业和令人困惑之外,任何HTTP响应代码,包括406 error,都可能失去销售和用户。

    本文将解释“406 Not Acceptable”错误的基础知识、原因、修复方法以及将来避免它的步骤。

      1. 什么是406错误?
      2. 是什么导致了406错误?
      3. 如何修复406错误
      4. 防止将来出现406错误

    什么是406错误?

    好消息是HTTP错误“406 Not Acceptable”消息并不像404服务器错误(通常表示网页不存在)甚至301或500 HTTP错误那么常见。因此,你绝对不应该看到这个。

    尽管这种情况很少见,但406错误仍有可能成为您网站的问题。它通常看起来像这样:

    “406 Not Acceptable”消息的一个示例

    “406 Not Acceptable”消息的一个示例。

    该消息通常为:

    Not Acceptable

    An appropriate representation of the requested resource could not be found on this server.

    然后它有时会识别问题所在的“请求的资源”,并在末尾提到其他消息或服务器信息:

    一些406错误显示被拒绝的资源

    一些406错误显示被拒绝的资源

    406错误消息中的外观和文本取决于用于访问该网站的网站、主机和浏览器。 406错误可能会揭示错误的来源。其他时候,您可能会发现这是一个简单的“406 Not Acceptable”错误,没有任何信息可以帮助您解决问题。

    现在,让我们假设浏览器说的是简单的英语而不是这些神秘的信息。

    在这种情况下,浏览器会说这样的话:你好,我是浏览器。我试图显示此网页,但发生了两个问题之一:

    1. 该网站的服务器向我发送了错误的文件格式,因此我无法接受。
    2. 该网站的服务器违反了某些设置或安全要求。

    因此,请解决违规问题或让服务器使用我接受的文件格式之一。如果您想知道,这里是我知道如何阅读的文件格式。

    要是浏览器这么友好就好了!

    本质上,服务器与用于呈现 Web 应用程序的浏览器或机器之间存在错误通信。浏览器要么无法读取传入的内容,要么无法验证数据,因为它不符合某些要求。现在我们必须回答一些问题来找出造成这种误解的原因。

    是什么导致了406错误?

    每次打开网页时,您的浏览器(如 Safari、Firefox、Brave、Chrome 或 Internet Explorer)都会向页面服务器发送请求以获取站点内容和数据库文件。浏览器充当您和服务器之间的信使——它告诉服务器用户想看到什么,并希望返回正确的信息。

    在第一个请求期间,浏览器会告诉服务器它可以接受的所有文件格式。它被称为Accept-标头请求,它提示服务器以正确的格式传送文件以生成整个网站或Web应用程序,从头开始。

    有时,服务器会发送格式不合适或违反浏览器或客户端计算机规定的规则的回复。在这种情况下,浏览器窗口中会出现406错误,表明服务器没有提供适当的数据。

    以下是标头请求中可能出现的“错误格式”和“违反规则”的一些示例:

    • Accept-ranges:一些服务器设置了安全措施或只允许响应中的特定文件大小范围。如果响应尝试发送超出允许范围的太多字节,您将看到 406 错误。
    • Accept-encoding:这是用于压缩文件的标题区域,因此它们可以快速从服务器移动到浏览器。不接受某些压缩方法和格式,从而呈现 406 错误代码。
    • Accept-charset:指字符集或站点文件表如何获取代码(如CSS和HTML )并将其转换为可理解的字符。世界上有太多的字符、语言和符号,很难涵盖所有这些。标准表称为ISO-8859,但也有其他补充表。偶尔会发布新的字符表以跟上语言和字符的添加。
    • Accept-language:这通常是Accept-charset的不同名称,它引用了它对国际语言的关注。
    • MIME type violation:有时,浏览器会从服务器请求特定的MIME类型。 MIME类型是内容元素,如JPEG图像、特定视频格式或简单文本。如果服务器无法提供请求的MIME类型(如JPEG图像),您将看到406错误。

    解决和修复406错误的主要方法是检查Accept-、Request-和Response-标头中的问题的源代码。

    查看Accept-Response-标头的最简单方法是在浏览器中打开一个网页,右键单击并选择Inspect

    转到Network > Headers以显示来自此网页的所有请求。

    network-and-headers

    右键单击并在浏览器中选择“Inspect”,然后转到“Network”和“Headers”选项卡。

    您通常可以从长列表中选择任何请求以查看该特定请求的 Request-Response-标头。

    Response- 和 Request-标头之类的内容

    单击列表中的任何请求以查看诸如Response- 和 Request-标头之类的内容

    或者,您可以联系您的Web开发人员以查看源代码。但是,当您拥有用于调试和清理数据库的工具时,检查源代码会容易得多,我们将在本文后面讨论。如前所述,“406 Not Acceptable”错误告诉我们客户端已向服务器发送了有效请求,但该请求包含服务器必须遵循的唯一要求。初始请求中的特殊要求采用HTTP Accept-标头的形式。这给我们留下了一些潜在的原因:

    1. 服务器未提供请求的MIME类型或正确的格式,如JPEG或mp4视频。
    2. 服务器没有返回正确的语言 ( Accept-language )。例如,当浏览器要求提供法语时,它可能会以德语返回响应。
    3. 服务器在响应Accept-encoding请求时使用了错误的压缩方法或格式。
    4. 服务器发回了太多与Accept-ranges请求不一致的字节。
    5. 服务器未能提供可理解的字符,这将导致来自浏览器的Accept-charset请求出现问题

    您可能会看到406错误还有其他原因,但它们并不常见。上面的列表是从最常见到最不常见的原因。前两个比其他更频繁地发挥作用,因此您很有可能通常应该专注于排除 MIME 类型违规或Accept-language问题的可能性。

    总体而言,网站所有者应该了解这些格式问题和违规行为,了解您网站文件中的某些内容可能会导致问题。此类情况经常因人为错误而发生,例如意外输入错误代码、删除必要代码或错误配置服务器。当特定的安全设置或规则阻止来自服务器的内容传输时,也会出现406错误。

    如何修复406错误

    在完成解决406错误的任何步骤之前运行网站或应用程序备份是明智的。访问站点的源代码总是有可能导致进一步的问题,因此如果需要,您需要有一个数据库和站点文件备份来恢复。

    确保您完成了从数据库到应用程序以及媒体元素到站点文件的所有内容的完整备份。

    现在我们对406错误发生的原因有了更深入的了解,是时候讨论解决错误并防止它再次发生的最佳方法了。这些策略包括客户端原因(用户出错或机器工作不正常)、服务器端原因和基于平台的原因,如插件错误。

    确保URL正确

    我们的第一条建议听起来可能很简单,但它是最快的故障排除选项,并且将重点放在客户端(即您的计算机)的问题上。

    在这种情况下,404错误比406错误更有可能发生,但如果网站URL有效,您最终可能会看到“406 Not Acceptable”错误。然而,浏览器转换请求的方式有些奇怪。例如,在URL末尾添加“JSON”或“PHP”可能会被误解为对这些特定格式的请求,即使客户端不需要它们。

    要解决此问题,请仔细检查之前使用的导致错误的URL。尝试再次输入它或在网站上选择不同的子域,看看它是否只有一个页面没有呈现。

    406消息在技术上被认为是客户端错误代码(即使它通常是平台或服务器问题),因此这是确定客户端是否有问题的第一个操作过程。

    重置您的设备和网络

    另一个客户端问题偶尔涉及从用户计算机发送到无法满足请求的平台的相同Accept-标头其中许多平台包括Hulu等面向游戏或媒体的系统或Spotify等音乐市场。

    简单来说,您可能会登录Hulu等平台,尝试观看您喜欢的电视节目,并收到406错误消息。在这个例子中,问题几乎总是在客户端。它通常是您用来启动平台的计算机、网络或其他设备。

    尽管任何平台都可能发生这种情况,但一些通常报告406错误的平台包括:

    • Hulu
    • Google Play
    • Square Enix Games
    • Netflix
    • Xbox
    • Windows(通常用于游戏)

    此列表远非完整,但它可以让您了解406错误可能发生的位置。

    媒体和游戏平台很复杂,有很多限制,这些限制取决于您的位置或网络配置。由于所有移动部件,您可能会遇到这样的错误。

    尽管我们无法帮助您对每个特定平台进行故障排除,但请考虑执行以下建议并检查错误是否已解决:

    • 上网检查您平台服务器的状态。可能只是公司服务器的问题。
    • 重新启动您的计算机、游戏系统、流媒体设备或其他机器。
    • 断开所有设备与电缆的连接,等待几分钟,然后重新连接所有设备,然后检查错误是否消失。
    • 检查应用程序是否正在运行最新版本。另外,查看您的任何机器是否有可用的固件更新。
    • 重置您的家庭或办公室网络(通过路由器的 WiFi 或互联网连接)。
    • 如果您仍然遇到问题,请考虑从无线网络切换到有线网络连接。
    • 尽管这并不总是可能的,但请考虑使用完全不同的机器复制错误。确保设备在同一网络上。如果您无法复制错误,请查看您的网络和原始机器。

    如果所有其他方法都失败了,请转到您的搜索引擎并输入您的平台名称以及“+ 406 错误代码”以获得特定于平台的故障排除建议。这通常会显示论坛和支持文档,以指导您完成整个过程。

    回滚您最近的CMS更改

    接下来,是时候探索用于您的网站或应用程序的系统了。您可能会发现您的内容管理系统(例如WordPress)是“406 Not Acceptable”错误的直接原因,因为您的站点文件中的某些内容很复杂。

    无论是使用WordPress还是任何其他内容管理系统,请查看您上次更新的时间。无论如何,WordPress都有一个坚固的默认基础架构,旨在避免这些类型的错误。

    但是,特定的插件、主题或手动调整的编码可能会产生站点文件违反客户端或服务器请求的情况。简单升级到CMS的最新版本即可立即解决问题。

    要确定它是否是您的CMS ,请首先回滚发生在核心文件上的任何最近升级。您可能已经知道,WordPress会定期向其系统发送更新。大多数更新会自动发生,但旧版本仍需要您单击按钮。

    此外,WordPress和其他CMS使用多个移动部件,如插件、主题和扩展。这些也会定期更新,因此您可能需要回滚其中一些。

    对于WordPress之外的所有系统,搜索“平台名称 + 如何降级”。

    如果您使用WordPress,您可以轻松降级您的WordPress网站,有效地将其回滚到以前的版本之一:

    降级到以前的WordPress版本

    降级到以前的WordPress版本

    该指南概述了以下降级WordPress网站的方法,其中大部分只需要几分钟:

    • 手动降级您的WordPress网站。
    • 使用插件完成WordPress系统降级。
    • 恢复以前的备份以恢复旧版本,或者至少是以前的内容和文件。
    • 手动降级主题或插件。
    • 使用单独的插件降级插件或主题。
    • 切换到旧版本的PHP。

    卸载和重新安装插件、主题和扩展

    WordPress插件和主题向与核心WordPress文件交互的站点文件添加额外代码。信誉良好的插件通常不会引起任何问题,但偶尔会发生冲突。插件、主题或第三方扩展可能是406错误的原因。

    识别麻烦的插件或主题的行之有效的方法是一一停用您的插件和主题。禁用每个后,检查406错误是否已消失。如果是这样,你就找到了问题所在。如果它没有消失,请重新安装插件或主题并继续卸载下一个。

    停用每个插件

    转到WordPress中的插件选项卡并一个一个地停用每个插件。

    分析数据库状态的变化和冲突

    不幸的是,删除的“问题”插件仍然可能会影响您的WordPress数据库,因为插件可以完全访问数据库才能正常工作。因此,即使插件的删除使406错误消失,您仍然应该检查数据库的状态。否则,您将来仍有可能会遇到更多问题。

    如果插件或主题不是罪魁祸首,您还应该检查您的数据库是否是错误的主要来源。有时,数据库更改,无论是偶然的还是有意的,都会成为出现406错误的主要原因。

    要扫描和修复您的数据库,请考虑以下解决方案:

    1. 安装一个数据库扫描器和清理器,删除无用和麻烦的表和资产。一些选项包括WP OptimizeAdvanced Database Cleaner 。此过程的大部分内容涉及删除旧的或孤立的项目,例如垃圾帖子、修订和元数据。这是清理数据库并可能消除406错误的坚实第一步。
    2. 扫描数据库并查找可能被有问题的插件或看起来不合适或不必要的插件更改的记录和表。
    3. 如果您知道您的数据库出了什么问题,请访问搜索引擎并从论坛和其他在线讨论中寻求帮助。其他人很有可能遇到过同样的问题。

    使用WP-Optimize之类的优化工具清理数据库

    使用WP-Optimize之类的优化工具清理数据库。图片来源: WP-Optimize

    分析您的服务器日志

    之前的建议侧重于客户端和面向CMS的故障排除。现在我们将考虑所有服务器端问题。如果您没有使用CMS或知道406错误与您的CMS或客户端计算机没有连接,则此提示以及以下提示是最佳选择。

    服务器故障排除的第一步是检查日志。无论您使用什么类型的Web应用程序、CMS或Web设计系统;他们都有服务器端日志。

    应用程序日志存储该Web 应用程序的整个(或最近)历史记录,以及有关每个数据库查询、提供的结果、请求的页面等等的信息。另一方面,服务器日志包含有关用于运行 Web 应用程序的服务器或硬件的运行状况和状态的信息。

    检查所有可能导致406错误的日志,一般为:

    • error.log文件
    • access.log文件

    调试Web应用程序(如WordPress)

    就像大多数 Web 应用程序都有服务器和错误日志一样,它们通常也提供有关调试应用程序本身的信息。调试涉及通过应用程序的代码来查找和消除小错误(或错误)。

    运行WordPress(以及任何与此相关的任何 Web 应用程序)完整扫描的最佳方法之一是调试数据库和网站文件。幸运的是,调试并不意味着您必须通读每一行代码并自己找出错误。

    防止将来出现406错误

    406错误的问题在于它可以在许多不同的情况下弹出。作为普通消费者浏览Hulu或Netflix时,您可能会看到“406 Not Acceptable HTTP”错误。

    但没有什么是一点点故障排除无法解决的。更令人担忧的是406错误发生在您的网站或应用程序上。对于这些实例,您需要检查服务器和CMS站点文件。

    如果是您的网站,您将希望防止错误再次发生。插件、主题和人为错误总是会起作用,但我们有一些建议可以让您的数据库和站点文件在未来保持干净:

    • 仅安装必要且信誉良好的插件、主题和扩展。始终将这些元素保持在最低限度。
    • 永远不要修改核心WordPress文件,除非您绝对必须并且知道自己在做什么。
    • 定期运行数据库清理器和站点优化器。我们建议每个月完成这个过程,最好找到一个在后台自动运行的更干净的插件。
    • 养成调试服务器和Web应用程序的习惯。
    • 设置您的网站或应用程序的自动备份。这样,代码冲突或错误不会给您带来太大压力,因为您可以恢复网站的先前版本并从那里开始。
    • 在您计划更新WordPress和任何插件之前运行您的站点的手动备份,即使您已经运行了自动备份(安全总比抱歉好)。在编辑任何文件或向站点添加新代码之前运行备份也是明智的。

    小结

    您可以通过多种方式修复406错误。只要您知道所看到的内容以及在哪里寻找修复程序,您就应该能够清除错误。虽然这不是更常见的WordPress错误之一,但如果您的配置不正确,您会不时看到它。

    对于解决“406 Not Acceptable”错误,您还有其他建议吗?请在下面的评论部分分享它们!

  • 如何解决WordPress提示“您的网站上存在严重错误”

    错误类型:
    WP内部错误
    错误名称:
    您的网站上存在严重错误
    英文名称:
    There has been a critical error on this website. Please check your site admin email inbox for instructions
    错误描述:
    WordPress中的严重错误通常是由阻止WordPress正常运行的故障插件、脚本或代码引起的。

    您是否在WordPress网站上看到过“您的网站上存在严重错误”?

    WordPress有时可能会向您显示一条消息“您的网站上存在严重错误“,并提供了解更多在WordPress中调试的信息。

    在本教程中,我们将向您展示如何轻松修复WordPress中的严重错误。我们还将讨论导致此错误的原因以及如何避免它。

    如何解决WordPress提示“您的网站上存在严重错误”

    什么是WordPress严重错误?

    WordPress严重错误是阻止WordPress加载正常工作所需的所有脚本的错误。

    以前,此WordPress错误会导致死亡白屏或屏幕上出现致命错误消息。大多数初学者认为它不是很有帮助,并且很难自己解决问题。

    自WordPress 5.2起,用户现在将看到一条通用错误消息“There has been a critical error on this website. Please check your site admin email inbox for instructions”,并提供了了解更多在WordPress中调试的信息的文本链接。

    a critical error on this website

    它还会向您的WordPress站点的管理员电子邮件地址发送一封电子邮件,其中包含有关错误的更多详细信息以及在恢复模式下访问WordPress仪表盘的链接。

    是什么导致WordPress出现严重错误?

    WordPress中的严重错误通常是由阻止WordPress正常运行的故障插件、脚本或代码引起的。

    除非您解决此问题,否则WordPress无法加载所需的其余文件。

    如果您最近将某个教程中的代码片段复制并粘贴到您的网站,则可能会触发严重错误。

    所有顶级WordPress插件都经过全面测试,因此它们不太可能自行导致严重错误。但是,与另一个WordPress插件或某些自定义代码的冲突可能会触发错误。

    话虽如此,让我们来看看如何修复WordPress中的严重错误并恢复您的网站。

    修复WordPress的严重错误

    关键错误消息本身对于查找问题的原因并修复它并不是很有用。幸运的是,WordPress还会向您网站的管理员电子邮件地址发送一封电子邮件。

    现在,许多WordPress网站都存在发送电子邮件的问题,因此您可能不会收到此重要的电子邮件通知。如果您是这些用户之一,请不要担心。我们将向您展示如何在没有电子邮件的情况下修复严重错误。

    另一方面,如果您确实收到了WordPress技术问题电子邮件通知,那么我们将向您展示如何理解它并使用它来恢复您的网站。

    只需单击下面的链接即可直接跳到您需要的部分:

    使用WordPress调试电子邮件修复严重错误

    首先,您需要访问您在网站上用作WordPress管理电子邮件的电子邮件地址的收件箱。

    不确定您使用哪个电子邮件地址作为管理员电子邮件? 这是您在安装WordPress时提供的电子邮件地址。

    在您的收件箱中,您会看到一封主题为“您的网站遇到技术问题”的电子邮件。在其中,您会找到更多有关导致WordPress网站出现严重错误的原因的有用信息。

    例如,在下面的屏幕截图中,您可以看到严重错误是由我们测试站点上的WordPress主题引起的。

    WordPress严重错误邮件通知

    该电子邮件还包含一个特殊链接,可让您以恢复模式登录WordPres网站以修复和调查问题。

    在电子邮件的底部,您将看到有关错误的更多详细信息,包括触发它的特定文件和代码。

    在下面的这个例子中,我们主题的functions.php文件中第614行的一些代码负责触发错误。

    WordPress严重错误详细信息

    这是另一个示例,它显示了由WordPress插件故障引起的错误详细信息。

    插件故障引起的WordPress严重错误

    现在您只需要点击WordPress恢复模式的链接,这将带您进入您的WordPress管理区域。

    系统会要求您登录以继续。

    WordPress登录界面

    登录后,您将看到一条通知,通知您有关严重错误、导致错误的原因以及指向修复错误位置的链接。

    例如,在下面的屏幕截图中,它通过指向插件页面的链接通知我们插件导致的严重错误。

    如何解决WordPress提示“您的网站上存在严重错误”-7

    现在,如果您单击该链接,它将向您显示行为不端的插件。它还会准确地向您显示导致错误的代码行。

    您现在可以继续停用该插件。

    如何解决WordPress提示“您的网站上存在严重错误”-1

    然后你可以简单地找到一个替代的WordPress插件,或者看看你是否可以获得插件开发人员的支持。

    同样,如果问题与您的主题有关,那么您将看到一个指向“主题”页面的链接。在页面底部,您可以看到导致问题的主题。

    如何解决WordPress提示“您的网站上存在严重错误”-9

    您可以简单地更改您的WordPress主题,或删除损坏的主题并从官方来源重新安装相同主题的新副本,看看是否能解决问题。

    解决问题后,您只需点击顶部的退出恢复模式按钮即可。

    如何解决WordPress提示“您的网站上存在严重错误”-1

    在大多数情况下,您的WordPress网站现在将开始正常工作。

    但是,如果您仍然在WordPress中看到严重错误,那么您可以尝试下一步中的故障排除步骤。

    手动修复WordPress中的严重错误

    如果您没有收到WordPress严重问题通知电子邮件,那么您可以通过以下方法对WordPress中的严重错误进行故障排除和修复。

    如果错误是由您最近采取的操作引起的,那么您只需撤消该操作即可解决问题。

    例如,如果您安装了一个新插件并激活它导致了严重错误,那么您需要停用该插件(我们将在下面的第一步中向您展示如何执行此操作)。

    另一方面,如果您不确定,那么您只需按照以下步骤操作即可。

    1. 停用所有WordPress插件

    禁用有故障的WordPress插件的最简单方法是停用它。但是,由于严重错误,您无权访问管理区域,也不知道要停用哪个插件。

    为了解决这个问题,我们将停用所有WordPress插件。别担心,一旦您可以访问您的WordPress管理区域,您就可以轻松地重新激活它们。

    只需使用FTP客户端或WordPress主机控制面板中的文件管理器应用程序连接到您的WordPress网站。

    连接后,您需要导航到/wp-content/文件夹。

    如何解决WordPress提示“您的网站上存在严重错误”-5

    在wp-content文件夹中,您将看到一个名为“plugins”的文件夹。您需要右键单击它,然后选择“重命名”选项。

    接下来,将插件文件夹的名称更改为您喜欢的任何名称。在我们的示例中,我们将其称为“plugins.deactivate”。

    如何解决WordPress提示“您的网站上存在严重错误”-12

    执行此操作后,您的所有插件都将被停用。

    基本上,WordPress 会查找插件文件夹以在您的网站上加载已激活的插件。当它找不到插件文件夹时,它根本无法激活插件并自动将它们设置为停用。

    您现在可以访问您的网站以查看严重错误消息是否已消失。

    重要提示:无论严重错误问题是否已解决,请不要忘记将 plugins.deactivated 文件夹重命名回“plugins”。然后WordPress将识别该文件夹,您将能够从WordPress仪表板中一一重新激活它们,以便您确定是哪个文件夹导致了严重错误。

    2.切换到默认主题

    解决严重错误的下一步是将WordPress主题切换为默认主题。如果它是由当前WordPress主题中的某些代码引起的,这将解决严重错误问题。

    只需转到WordPress.org主题目录并下载2020或2021官方默认主题的新副本。

    如何解决WordPress提示“您的网站上存在严重错误”-13

    接下来,您需要将主题文件解压缩到您的计算机。这将在您的计算机上创建一个具有主题名称的文件夹。

    如何解决WordPress提示“您的网站上存在严重错误”-1

    现在,您需要使用FTP客户端或主机控制面板中的文件管理器应用程序连接到您的WordPress站点。连接后,导航到 /wp-content/themes 文件夹,您将看到网站上安装的所有主题的列表。

    如何解决WordPress提示“您的网站上存在严重错误”-7

    继续将它们全部下载到您的计算机上作为备份。之后,您需要从您的网站中删除所有主题文件夹。

    如何解决WordPress提示“您的网站上存在严重错误”-8

    您的WordPress网站现在没有安装主题。要解决此问题,请继续上传您之前下载的默认主题文件夹。

    如何解决WordPress提示“您的网站上存在严重错误”-17

    完成后,您可以尝试访问您的网站。

    如果严重错误是由您的WordPress主题引起的,那么它现在应该会消失,您将能够访问您的网站。

    3.重新安装WordPress

    损坏的WordPress核心文件或恶意软件也可能触发WordPress中的严重错误。解决此问题的最简单方法是重新安装WordPress。

    只需转到WordPress.org并将WordPress的新副本下载到您的计算机。下载文件后,您需要将其解压缩到您的计算机。这将创建一个名为“wordpress”的文件夹,其中包含重新安装所需的所有文件。

    如何解决WordPress提示“您的网站上存在严重错误”-18

    接下来,您需要使用FTP客户端或主机控制面板中的文件管理器应用程序连接到您的WordPress站点。

    连接后,您需要导航到网站的根文件夹。根文件夹是其中包含wp-admin、wp-content、wp-includes和wp-admin文件夹的文件夹。

    如何解决WordPress提示“您的网站上存在严重错误”-19

    现在选择wordpress文件夹中的文件并将它们上传到您的网站。您的FTP客户端会询问您是要覆盖这些文件还是跳过它们。您需要选择“覆盖”并选中“始终使用此操作”选项旁边的框。

    如何解决WordPress提示“您的网站上存在严重错误”-1

    单击“确定”按钮继续。您的FTP客户端现在将用您计算机上的新副本替换所有核心WordPress文件。

    完成后,您可以尝试访问您的网站,看看是否解决了错误。

    如果关键是由损坏的WordPress核心文件或恶意软件引起的,那么该错误现在应该会消失。

    我们希望本文能帮助您排除故障并修复WordPress中的严重错误。

  • 如何修复cURL error 60: SSL certificate problem: certificate has expired问题

    错误类型:
    WP内部错误
    错误名称:
    SSL证书已过期
    英文名称:
    cURL error 60: SSL certificate problem: certificate has expired
    错误描述:
    WP core有一个根证书文件,/wp-includes/certificates/ca-bundle.crt用于检查通过HTTP API创建的所有请求的SSL。在此文件中,用于为您的站点创建证书的根证书之一已过期。因此,请求无法通过验证并生成此错误。

    curl错误修复

    从2021年9月30日起,HTTP API请求可能会停止在安装了Let’s Encrypt证书的WordPress网站上工作。此前我们有提醒过大家注意Let’s Encrypt根证书将过期可能会带来问题

    例如,这样的请求会导致错误:

    $res = wp_remote_get( ‘https://wp-kama.com/’ );
    if( is_wp_error( $res ) ){
    echo $res->get_error_message();
    }
    $res = wp_remote_get( ‘https://wp-kama.com/’ );

    if( is_wp_error( $res ) ){
    echo $res->get_error_message();
    }

    $res = wp_remote_get( 'https://wp-kama.com/' );
    
    if( is_wp_error( $res ) ){
    echo $res->get_error_message();
    }

    然后你就会遭遇下方的报错提示:

    cURL error 60: SSL certificate problem: certificate has expired

    这样的错误将随处可见,例如:

    • 在WP管理面板检查WordPress更新时。
    • 检查插件更新时。
    • 访问任何服务的api时。例如,TinyPNG图像压缩以及其他一些使用任何类型请求的插件。

    为什么我们看到错误证书已过期?

    简而言之,WP core有一个根证书文件,/wp-includes/certificates/ca-bundle.crt用于检查通过HTTP API创建的所有请求的SSL。在此文件中,用于为您的站点创建证书的根证书之一已过期。因此,请求无法通过验证并生成此错误。

    更详细的解释:

    在不详细介绍的情况下,对于非专业人士来说几句关于为什么到期 DST Root CA X3证书将影响Let’s Encrypt颁发的证书。每个验证证书的系统都有自己的可信根证书存储库。系统将信任在验证期间使用这些根证书之一的私钥签名的证书。根证书本身通常有很长的到期日期,很少更改并且在生成最终主题证书(在这种情况下是域名证书)时不使用,相反,公钥基础设施意味着使用信任链 – 根证书用于签署中间证书和已经使用它们来签署最终主题证书(域证书)。此外,为了让系统信任最终主题证书,它必须能够跟踪从该证书到它信任的根证书之一的完整链。

    当Let’s Encrypt出现时,它的ISRG Root X1根证书(就像任何新的根证书一样)无法快速进入大量系统的受信任证书库。同时,为了项目的成功运行,从一开始就颁发的证书必须受到最大数量的“开箱即用”系统的信任(这些系统的用户没有任何额外的操作)。在这方面,对于证书,Let’s Encrypt开始使用通向根证书的信任链DST Root CA X3,这是大多数系统认可的。

    随着下一次WP更新,此错误将会自行消失,但如果您今天需要解决方案,或者您不打算更新WordPress,但需要有效的HTTP请求,请执行以下操作。

    cURL error 60: SSL certificate has expired解决办法

    您需要更新/wp-includes/certificates/ca-bundle.crt文件的内容,将其更改为https://curl.se/ca/cacert.pem文件的内容。

    在这种情况下更改核心文件是可以接受的,因为下次更新WP时,问题就会消失。你可以在GitHub上查看相应的提交

    手动替换内容更新以解决问题

    1. 下载此文件https://curl.se/ca/cacert.pem
    2. 使用上述下载以更新/wp-includes/certificates/ca-bundle.crt的内容。
    3. Done!报错将会销声匿迹。

    或添加代码片段以修复报错

    当您能够从管理面板运行代码时,使用代码会很方便,例如使用代码片段插件。

    1. 将以下代码添加到 themes functions.php 文件中(或在 Code Snippets 插件中):
      /**
      * Goto http://yoursite.com/?update-wp-ca-bundle
      */
      if( isset( $_GET[‘update-wp-ca-bundle’] ) ){
      $crt_file = ABSPATH . WPINC . ‘/certificates/ca-bundle.crt’;
      $new_crt_url = ‘http://curl.haxx.se/ca/cacert.pem’;
      if( is_writable( $crt_file ) ){
      $new_str = file_get_contents( $new_crt_url );
      if( $new_str && strpos( $new_str, ‘Bundle of CA Root Certificates’ ) ){
      $up = file_put_contents( $crt_file, $new_str );
      echo $up ? ‘OK: ca-bundle.crt updated’ : ‘ERROR: can`t put data to ca-bundle.crt’;
      }
      else {
      echo ‘ERROR: can’t download curl.haxx.se/ca/cacert.pem’;
      }
      }
      else {
      echo ‘ERROR: ca-bundle.crt not writable’;
      }
      exit;
      }
      /**
      * Goto http://yoursite.com/?update-wp-ca-bundle
      */
      if( isset( $_GET[‘update-wp-ca-bundle’] ) ){

      $crt_file = ABSPATH . WPINC . ‘/certificates/ca-bundle.crt’;
      $new_crt_url = ‘http://curl.haxx.se/ca/cacert.pem’;

      if( is_writable( $crt_file ) ){
      $new_str = file_get_contents( $new_crt_url );

      if( $new_str && strpos( $new_str, ‘Bundle of CA Root Certificates’ ) ){
      $up = file_put_contents( $crt_file, $new_str );

      echo $up ? ‘OK: ca-bundle.crt updated’ : ‘ERROR: can`t put data to ca-bundle.crt’;
      }
      else {
      echo ‘ERROR: can’t download curl.haxx.se/ca/cacert.pem’;
      }
      }
      else {
      echo ‘ERROR: ca-bundle.crt not writable’;
      }

      exit;
      }

      /**
       * Goto http://yoursite.com/?update-wp-ca-bundle
       */
      if( isset( $_GET['update-wp-ca-bundle'] ) ){
      
      $crt_file = ABSPATH . WPINC . '/certificates/ca-bundle.crt';
      $new_crt_url = 'http://curl.haxx.se/ca/cacert.pem';
      
      if( is_writable( $crt_file ) ){
      $new_str = file_get_contents( $new_crt_url );
      
      if( $new_str && strpos( $new_str, 'Bundle of CA Root Certificates' ) ){
      $up = file_put_contents( $crt_file, $new_str );
      
      echo $up ? 'OK: ca-bundle.crt updated' : 'ERROR: can`t put data to ca-bundle.crt';
      }
      else {
      echo 'ERROR: can't download curl.haxx.se/ca/cacert.pem';
      }
      }
      else {
      echo 'ERROR: ca-bundle.crt not writable';
      }
      
      exit;
      }

      使用后,删除此代码。

    2. 访问http://YOURSITE.com/?update-wp-ca-bundle页面。(替换YOURSITE.com到您的域名…)
    3. Done!一切都应该像以前一样工作。
  • 如何修复“从无Cookie域提供静态内容”警告

    错误类型:
    浏览器错误
    错误名称:
    从无Cookie域提供静态内容
    英文名称:
    Serve Static Content From a Cookieless Domain
    错误描述:
    此警告通常出现在具有大量请求的站点上。解决此问题的一些方法包括使用CDN提供商去除cookie或设置单独的域和/或子域来提供cookie。

    如何修复“从无Cookie域提供静态内容”警告

    Pingdom、 GTmetrix或Google PageSpeed Insights中看到“从无Cookie域提供静态内容(Serve Static Content From a Cookieless Domain)”警告?

    通常,当您提供图像、JavaScript、CSS等内容时,没有理由伴随HTTP cookie,因为它会产生额外的开销。一旦服务器为特定域设置了cookie,该域的所有后续HTTP请求都必须包含cookie 。

    此警告通常出现在具有大量请求的站点上。解决此问题的一些方法包括使用CDN提供商去除cookie或设置单独的域和/或子域来提供cookie。

    由于Web 和新协议(例如HTTP/2)最近发生了变化,现在通常可以安全地忽略此警告。新连接的成本通常比通过同一连接流式传输所有内容的成本更高。 HTTP/2现在通过并行做了惊人的事情。而且cookies本身一般都很小。

    根据报告它的工具或软件,警告可能以几种不同的方式出现:

    • “从未设置cookie的域中提供以下静态资源”
    • “提供来自无cookie域的静态内容”

    提供来自无cookie域警告的静态内容

    提供来自无cookie域警告的静态内容

    但是,如果您仍想设置一个单独的域来提供cookie,请参考以下说明。

    修复从无Cookie域提供静态内容警告

    有几种方法可以修复“从无Cookie域提供静态内容”警告,例如使用CDN以及重新配置您的WordPress站点。

    1. 使用CDN
    2. 重新配置WordPress网站

    1. 使用CDN

    解决此警告的一种简单方法是使用CDN提供程序,该提供程序能够忽略cookie以及剥离cookie,这将完全阻止客户端接收Set-Cookie响应标头。

    国外品牌KeyCDN是一家提供此功能的CDN提供商。默认情况下,您可以看到启用了以下两个选项。这是一个简单的替代方案,而不必费心移动和配置您的站点以从单独的子域交付静态资产。

    忽略cookie以及剥离cookie

    注意: 您不能对通过CloudFlare提供服务的资源禁用cookie。 CloudFlare还在您的标头中包含其自己的安全cookie。同样,这些cookie非常小,对性能的影响也非常小。但是,如果您使用CloudFlare,则无法绕过此警告。

    2.重新配置WordPress站点

    您的第二个选择是重新配置您的WordPress站点以从新域或子域提供静态资产。注意:如果您使用顶级域,例如domain.com,那么您实际上需要完全使用一个单独的域。如果您使用的是www.domain.com,那么您可以简单地设置一个子域,例如static.domain.com。在本例中,我们假设您的网站位于www.domain.com。

    1. 首先,创建一个子域,例如static.domain.com。这是您将交付所有文件的地方。
    2. 将子域的DNS记录设置为指向主域的CNAME。
    3. 通过编辑您的wp-config.php文件将您的子域指向您的/wp-content目录:
      define(“WP_CONTENT_URL”, “http://static.domain.com”);
      define(“COOKIE_DOMAIN”, “domain.com”);
      define(“WP_CONTENT_URL”, “http://static.domain.com”);
      define(“COOKIE_DOMAIN”, “domain.com”);
      define("WP_CONTENT_URL", "http://static.domain.com"); 
      define("COOKIE_DOMAIN", "domain.com");
  • 如何修复“Specify a Vary: Accept-Encoding Header”警告

    错误类型:
    浏览器错误
    错误名称:
    指定一个变化:接受编码头
    英文名称:
    Specify a Vary: Accept-Encoding Header
    错误描述:
    原则上,这不是一个错误。这是一个HTTP报头和应包括在每一个原始服务器的响应,因为它告诉浏览器客户端是否能够处理压缩内容的版本。

    如何修复“Specify a Vary: Accept-Encoding Header”警告

    您是否在Pingdom、GTmetrix或Google PageSpeed Insights等网站测速中看到过“Specify a Vary: Accept-Encoding Header”警告?这是一个HTTP报头和应包括在每一个原始服务器的响应,因为它告诉浏览器客户端是否能够处理压缩内容的版本。

    例如,假设您有一个没有gzip压缩的旧浏览器和一个带有它的现代浏览器。如果您不使用Vary: Accept-Encoding标头,您的Web服务器或CDN可能会缓存未压缩版本并错误地将其传送到现代浏览器,这反过来会损害您的WordPress网站的性能。通过使用Vary: Accept-Encoding标头,您可以确保您的Web服务器和/或CDN提供适当的版本。

    根据报告它的工具或软件,警告可能以几种不同的方式出现:

    • “Specify a Vary: Accept-Encoding Header”
    • 以下可公开缓存、可压缩的资源应具有“vary: accept-encoding”标头

    在Pingdom中指定Vary: Accept-Encoding标头警告

    在Pingdom中指定Vary: Accept-Encoding标头警告

    请按照以下有关如何修复“Specify a Vary: Accept-Encoding Header”警告的步骤操作。

    修复“Specify a Vary: Accept-Encoding Header”警告

    关于此警告需要注意的第一件事是,您只能针对服务器上的请求修复此问题。如果您有3rd方请求,您会看到此内容,则您无能为力,因为您无法控制他们的Web服务器。尽管随时与他们分享这篇文章。

    Accept-Encoding标头

    Accept-Encoding标头

    标头适用于您的WordPress资源和您的原始服务器请求。对于您的网站资源,如果您使用的是CDN,许多资源已经默认应用了Vary: Accept-Encoding。KeyCDN、Cloudflare和CloudFront都利用了这一点。许多WordPress缓存插件也添加了这一点。

    如果您仍需要修复此问题,则需要向服务器添加一些代码。

    修复Apache中的“Specify a Vary: Accept-Encoding Header”警告

    要在Apache中修复此问题,请通过FTP将以下代码添加到您的 .htaccess 文件中。该文件可以在您的服务器的根目录中找到。如果您的权限设置正确,您还可以使用Yoast SEO插件编辑您 .htaccess 文件。

    重要的!如果操作不当,编辑您的 .htaccess 文件可能会破坏您的网站。修改前,建议先备份原文件。

    <IfModule mod_headers.c>
    <FilesMatch “.(js|css|xml|gz|html)$”>
    Header append Vary: Accept-Encoding
    </FilesMatch>
    </IfModule>
    <IfModule mod_headers.c>
    <FilesMatch “.(js|css|xml|gz|html)$”>
    Header append Vary: Accept-Encoding
    </FilesMatch>
    </IfModule>
    <IfModule mod_headers.c>
      <FilesMatch ".(js|css|xml|gz|html)$">
        Header append Vary: Accept-Encoding
      </FilesMatch>
    </IfModule>

    修复NGINX中的“Specify a Vary: Accept-Encoding Header”警告

    要在NGINX中解决此问题,请将以下代码添加到您的配置文件中。所有NGINX配置文件都位于该/etc/nginx/目录中。主要配置文件是/etc/nginx/nginx.conf.

    gzip_vary on
    gzip_vary on
    gzip_vary on

    使用Vary: Accept-Encoding标头实际上可以帮助加速您的WordPress网站,因为它将确保您使用gzip压缩。如果一切顺利,并且您没有任何未正确使用标头的3rd方请求,您应该会使用Pingdom等网站速度测试工具(如下所示)看到您的分数有所提高。

    Specify a Vary: Accept-Encoding header警告

    Specify a Vary: Accept-Encoding header警告

  • 如何解决WordPress网站的Cloudflare返回521错误

    错误类型:
    服务器错误
    错误名称:
    Cloudflare 521错误
    英文名称:
    Error 521
    错误描述:
    由于Cloudflare无法连接到您的站点,因此无法向访问者显示您的站点,而是显示521错误消息。

    如何解决WordPress网站的Cloudflare返回521错误

    在WordPress网站上使用Cloudflare等内容交付网络 (CDN)可以帮助您大幅减少加载时间。但是,您可能偶尔会遇到Cloudflare特定的问题,例如“521错误”。此特定错误会阻止平台连接到您的网站,这意味着您可能也无法访问网站。

    在本文中,我们将讨论Cloudflare反馈521错误是什么以及导致它的原因。然后我们将介绍三种方法来修复它。

    Cloudflare的521错误是什么?

    像Cloudflare这样的CDN将您网站的缓存副本存储在位于全球各地的服务器网络上。当访问者尝试访问您的网站时,Cloudflare 会“拦截”该连接并从最接近其位置的服务器加载缓存副本。这种方法通常会加快加载速度,同时降低站点主服务器的工作量。

    正如您在上面了解到的,521错误消息是特定于Cloudflare的错误消息。

    从本质上讲,这意味着您的Web浏览器能够成功连接到Cloudflare,但Cloudflare无法连接到源Web服务器 – 也就是您的WordPress站点的服务器。

    具体来说,Cloudflare尝试连接到您的WordPress站点的服务器,但收到连接拒绝错误作为响应。

    由于Cloudflare无法连接到您的站点,因此无法向访问者显示您的站点,而是显示521错误消息:

    error-521

    默认情况下,Cloudflare会告诉您它无法连接到网站的服务器,因为该服务器已关闭。但是,CDN可能无法连接到您的站点还有其他几个潜在原因。

    在我们讨论这些原因之前,重要的是要注意521错误不是特定于WordPress的。无论您使用什么内容管理系统 (CMS)以及在外部网站上,您都可能遇到此错误。但是,您使用WordPress的事实为您提供了一种解决问题的额外方法,我们将在后面详细介绍。

    什么导致Cloudflare返回521错误

    正如我们之前提到的,当Cloudflare无法与您网站的服务器建立连接时,会发生521错误。通常,发生这种情况是由于以下三个原因之一:

    1. 您网站服务器已关闭。即使其他一切配置正确,如果您的WordPress站点的服务器处于离线状态,Cloudflare也将无法连接。如果您使用的是信誉良好的WordPress服务器主机,您应该拥有近乎完美的正常运行时间率(大约 99.9%)。这意味着在大多数情况下,服务器停机不是521错误背后的根本原因。
    2. 您服务器可能阻止Cloudflare请求。 您的Web服务器可能运行良好,但由于某种原因阻止了Cloudflare的请求。由于Cloudflare的工作方式,某些服务器端安全解决方案可能会无意中拦截Cloudflare的IP地址。比如,一些防火墙会阻止他们认为可疑的 IP,而Cloudflare请求可能会被该网络捕获。因为Cloudflare是一个反向代理,所以进入您的源服务器的所有流量看起来都好像来自一小范围的Cloudflare IP(而不是每个访问者的唯一IP地址)。因此,一些安全解决方案会将来自有限数量IP地址的高流量视为攻击并阻止它们。
    3. 您的Cloudflare证书有问题。Cloudflare 可以使用自己的安全套接字层 (SSL) 证书对您的网站与其服务器之间的流量进行加密。如果该证书有问题,源服务器可能会拒绝连接。

    这似乎有很多潜在的领域需要覆盖。但是,在故障排除过程中,大多数这些原因很容易排除,我们将在下一节中讨论。

    如何修复Cloudflare返回521错误 (3 种方法)

    现在我们已经介绍了基础知识,我们将向您介绍如何解决WordPress中的Cloudflare返回的521错误。我们将逐步完成整个过程,首先排除最常见的原因(也是最容易修复的)。让我们从检查您网站的服务器是否已关闭开始。

    1. 查明您站点的服务器是否停机

    在信誉良好的托管服务提供商中,服务器停机是相当罕见的。许多提供商都吹嘘近乎完美的正常运行时间。因此,除非您使用的是不可靠的 Web 主机,否则您可以将其排除为521错误的根源。

    在继续之前,您需要确保您的WordPress站点的服务器在线且运行正常。如果不是,则深入研究进一步的故障排除步骤是没有意义的。

    但是,确保这不是问题仍然是一个好主意,特别是如果您不熟悉当前的托管服务提供商。如果由于错误521而无法访问您的网站,还有其他方法可以检查它是否在线。例如,您可以在命令终端中使用ping 命令无论您使用的是哪种操作系统 (OS),它都应该可以工作。

    Ping命令运行一个简单的测试,以确定服务器是否可达,并确保你没有任何连接问题。例如,这里我们正在为Google.com运行一个简单的ping 测试(通过输入“ping google.com”):

    ping-google-1

    如果您收到来自服务器的回复,则它已启动并可访问。

    查看服务器是否关闭的另一种方法是使用免费的在线服务,例如IsItDownRightNow?这个工具可以让你输入任何你想要的URL,并检查它是否可以访问:

    is-google-up-1

    你还可以运行cURL命令。如果您使用的是Mac或Linux,则可以直接从终端运行它。

    Windows默认没有安装cURL,虽然您可以安装它,但更简单的方法是使用KeyCDN的在线HTTP标头检查工具

    您所做的只是插入http://1.2.3.4,其中1.2.3.4是您服务器的实际IP地址。

    KeyCDN标头检查工具

    KeyCDN标头检查工具

    如果您的服务器已启动,您应该会看到HTTP 200响应。或者,您也可能看到404 Not Found,这也意味着网络服务器已启动(只是没有与该IP关联的页面):

    成功连接的示例

    成功连接的示例

    如果出现问题,您会看到类似Host Not FoundFailed to connect的信息:

    您的服务器出现问题的示例

    您的服务器出现问题的示例

    如果服务说该网站已启动,那么您就可以开始了。这意味着您的521错误的原因在于其他地方。如果您的服务器由于某种原因停机,您需要与您的托管服务提供商联系以找出原因。

    2. 将Cloudflare IP范围列入白名单

    您可以尝试的下一个修复是确保您的服务器的防火墙知道让Cloudflare请求通过。根据您使用的托管计划类型,您可能无法手动更改服务器的配置。例如,在大多数共享和托管计划中,您将无法修改服务器的防火墙设置。

    如果您使用的是非托管虚拟专用服务器 (VPS)或专用服务器,您应该拥有对必要选项的完全访问权限。如果您使用防火墙,则可以修改其设置并将Cloudflare的IP范围列入白名单

    您需要确保没有在.htaccessiptables或防火墙中阻止这些IP地址。而且您还需要确保您的托管服务提供商不会限制或阻止来自Cloudflare IP地址的IP请求。如果您不确定如何执行此操作,请联系您的主机支持人员。

    或者,您可以联系您的托管服务提供商,让他们检查服务器的防火墙是否阻止了Cloudflare的任何地址。由于CDN的流行,情况不应该是这样。但是,您的网络托管服务商的支持团队将能够给您一个明确的答案。

    3. 设置Cloudflare Origin 证书

    Cloudflare使您能够配置CDN应如何处理 SSL 证书。它为您提供了多种SSL模式选项,包括:

    • Flexible。在此模式下,Cloudflare 将使用 HTTP 连接到您的网站。理想情况下,除非您尚未为网站设置 SSL 证书,否则不应使用此模式。
    • Full。此模式让用户决定是使用HTTP还是HTTPS连接您的网站。但是,如果他们使用HTTPS,Cloudflare将不会验证您网站的证书。
    • Strict。此模式还使访问者能够决定使用哪种协议。但是,它会告诉Cloudflare检查您网站证书的有效性。

    如果您的证书存在导致521错误的问题,通常会在您使用Strict SSL模式时发生。这是因为Cloudflare还需要在其末端使用原始证书来加密与您网站的流量。

    生成Cloudflare源证书很简单,一旦你这样做了,你应该能够访问你的网站,而不会出现错误521。如果您站点的证书有问题,您将看到完全不同的错误代码(526错误)。

    小结

    如果您将Cloudflare与WordPress一起使用,您可能会遇到521错误。当Cloudflare无法与您网站的服务器建立连接时,会出现此特定错误代码。这可能是因为服务器已关闭、其防火墙阻止了Cloudflare,或者其SSL证书存在问题。

    总而言之,您可以通过以下方式对Cloudflare中的521错误进行故障排除:

    1. 检查您站点的服务器是否已关闭。
    2. 配置您服务器的防火墙以将Cloudflare IP范围列入白名单。
    3. 设置Cloudflare源证书。
  • 如何解决WordPress上传的文件大小超过php.ini限制

    错误类型:
    WP内部错误
    错误名称:
    上传的文件尺寸超过php.ini中定义的upload_max_filesize值
    英文名称:
    the uploaded file exceeds the upload_max_filesize directive in php.ini
    错误描述:
    请务必记住,此上传限制不是WordPress设置。但是,如果您转到Media → Add New,则可以在WordPress站点中看到此限制。

    如何修复上传的文件大小超过php.ini限制

    尝试将某些内容上传到您的WordPress网站时却收到一条消息,提示“上传的文件尺寸超过php.ini中定义的upload_max_filesize值”?

    当您上传大图像、视频、插件、主题以及您上传到WordPress网站的任何类型的文件时,可能会出现此错误消息。

    在本教程中,我们将帮助您解决问题并使其能够上传这些大文件。总的来说,我们将涵盖:

    什么导致上传的文件超过php.ini中定义的upload_max_filesize值

    上传文件超过php.ini中定义的upload_max_filesize值的示例

    上传文件超过php.ini中定义的upload_max_filesize值的示例

    让我们从头开始。为了保留服务器的资源,主机对可以上传的文件的最大大小设置了限制。

    这个最大值(以兆字节为单位)在upload_max_filesize值中定义。

    upload_max_filesize的值本身位于的php.ini文件,这是默认的服务器配置文件需要PHP应用程序。

    这两件事——upload_max_filesizephp.ini——是你看到的错误消息所引用的内容。

    请务必记住,此上传限制不是WordPress设置。但是,如果您转到Media → Add New,则可以在WordPress站点中看到此限制:

    如何检查WordPress中的上传限制

    如何检查WordPress中的上传限制

    正如您在上面看到的,示例网站将默认限制设置为128MB,这是非常大的并且不太可能导致问题。但是,许多其他主机将默认值设置为仅2MB或4MB。

    这意味着如果您尝试上传大于该限制的文件,您将看到“上传的文件超出了php.ini中定义的upload_max_filesize值”,或者类似的消息,如“ xx文件超出了该站点的最大上传大小”

    如何修复上传的文件超过php.ini中定义的upload_max_filesize值

    为了修复此错误,您需要增加文件大小上传限制。也就是说,您需要增加php.ini文件中定义upload_max_filesize的值。

    有几种不同的方法可以做到这一点 – 您选择的确切方法将取决于您的偏好和主机的配置。

    1. 与服务器提供商支持人员联系

    虽然我们将介绍一些您可以自己尝试的方法,但最简单的解决方案通常是联系您的主机支持并要求他们为您增加限制。

    这是一个常见的请求,您的主机的技术支持人员应该确切地知道您想要什么,并且只需要花费您几分钟的时间。这就是您的主机支持的目的!

    2.通过cPanel编辑php.ini

    如果您的主机使用cPanel,您应该能够通过cPanel仪表板编辑您的php.ini文件和upload_max_filesize值。

    首先,寻找MultiPHP INI Editor

    cPanel中的MultiPHP INI编辑器

    cPanel中的MultiPHP INI编辑器

    然后从下拉列表中选择您的WordPress站点。之后,您将能够编辑该站点的upload_max_filesize值:

    更改cPanel中的upload_max_filesize值

    更改cPanel中的upload_max_filesize值

    根据您的需要增加数值。

    3.通过FTP创建或编辑php.ini

    正如您在上面了解到的,php.ini文件控制您的服务器如何为PHP应用程序工作。

    不幸的是,根据您主机的限制,您可能会也可能不会使用php.ini文件。出于这个原因,有时更可靠的方法是使用 .htaccess(我们将在下一节中介绍)。

    但是,您可以先尝试一下,看看是否允许您在主机上使用php.ini

    首先,通过FTP连接到您的服务器并转到您站点的根文件夹。

    如果您已经在根文件夹中看到一个php.ini文件,您可以编辑该文件。否则,创建一个新文件并将其命名为php.ini

    如何创建一个新的php.ini文件

    如何创建一个新的php.ini文件

    然后添加或修改下面的代码片段:

    • 如果您创建了一个新文件,请粘贴代码片段并修改数字以满足您的需要。
    • 如果您正在编辑现有文件,请在现有文件中找到相同的指令并修改数字以满足您的需要。
    upload_max_filesize = 12M
    post_max_size = 13M
    memory_limit = 15M
    upload_max_filesize = 12M
    post_max_size = 13M
    memory_limit = 15M
    upload_max_filesize = 12M
    post_max_size = 13M
    memory_limit = 15M

    将代码添加到php.ini文件中

    将代码添加到php.ini文件中

    某些主机可能会进一步要求您在站点的.htaccess文件中添加suPHP指令,以便上述更改真正起作用。

    为此,您还可以通过PHP编辑.htaccess文件并在文件顶部附近添加以下代码:

    <IfModule mod_suphp.c>
    suPHP_ConfigPath /home/yourusername/public_html
    </IfModule>
    <IfModule mod_suphp.c>
    suPHP_ConfigPath /home/yourusername/public_html
    </IfModule>
    <IfModule mod_suphp.c>
    suPHP_ConfigPath /home/yourusername/public_html
    </IfModule>

    确保替换/home/yourusername/public_html为您站点的实际文件路径。

    4.通过编辑.htaccess增加upload_max_filesize值

    如果通过上述方法直接创建或编辑php.ini文件不起作用,您还可以尝试通过编辑您网站的 .htaccess 文件来修改upload_max_filesize指令。

    首先,通过FTP连接到您的站点并编辑位于站点根文件夹中的 .htaccess 文件。

    然后,添加以下代码片段,确保根据您的需要调整值:

    php_value upload_max_filesize 12M
    php_value post_max_size 13M
    php_value memory_limit 15M
    php_value upload_max_filesize 12M
    php_value post_max_size 13M
    php_value memory_limit 15M
    php_value upload_max_filesize 12M
    php_value post_max_size 13M
    php_value memory_limit 15M

    如何通过 .htaccess控制php.ini文件

    如何通过 .htaccess控制php.ini文件

    如果您在添加此代码片段后收到内部服务器错误消息,则您的服务器很可能在CGI模式下运行 PHP ,这意味着您无法在.htaccess文件中使用这些命令。删除您刚刚添加的代码段,您的网站应该会重新开始运行。

    注意 – 如果您是服务器使用NGINX,这意味着您的站点没有 .htaccess 文件。这种情况下,你只能考虑修改php.ini中的代码或者联系服务器提供商技术人员提供支持。

    小结

    要检查您的更改是否有效,您可以返回WordPress仪表板中的媒体 → 添加新文件,以查看新的最大上传限制是否与您在php.ini文件中设置的数量相匹配。如果一切顺利,您应该会看到您的新值,并且您将能够上传给您带来问题的文件。

    最后,如果您尝试过的任何方法都不起作用,并且您的主机支持由于某种原因无法提供帮助,您可以随时通过FTP上传文件作为解决方法。FTP没有限制,可以让您上传从图像到插件和主题的所有内容。

  • 如何修复WordPress报错-“抱歉,出于安全原因,不允许使用此文件类型”

    错误类型:
    WP内部错误
    错误名称:
    抱歉,出于安全原因,不允许使用此文件类型
    英文名称:
    Sorry, This File Type Is Not Permitted for Security Reasons
    错误描述:
    出于安全原因,WordPress的默认配置限制了您可以上传到站点的文件类型。如上传受限制文件类型,则会提示该信息。

    如何修复WordPress报错-“抱歉,出于安全原因,不允许使用此文件类型”

    您是否在尝试将文件上传到WordPress媒体库时却收到一条消息,告诉您“抱歉,出于安全原因,不允许使用此文件类型”和/或“[文件名] 上传失败”?

    正如消息所暗示的那样,出于安全原因,WordPress限制了您可以上传到站点的文件类型。但是,通过向站点的wp-config.php文件添加一小段代码或使用免费插件,您可以手动扩展允许的文件类型列表,以便您能够上传任何类型的文件。

    以下是您将在本文中学到的内容:

    是什么触发“抱歉,出于安全原因,不允许此文件类型”消息?

    “抱歉,出于安全原因,不允许使用此文件类型”消息

    “抱歉,出于安全原因,不允许使用此文件类型”消息

    正如我们上面解释的那样,出于安全原因,WordPress的默认配置限制了您可以上传到站点的文件类型。

    “抱歉,出于安全原因不允许使用此文件类型”错误消息:

    当您尝试上传WordPress默认不支持的文件类型时,您会收到“抱歉,出于安全原因,不允许此文件类型”错误消息。

    出于安全原因,WordPress 限制了您可以通过站点管理员上传的文件类型——图像、视频、文档、音频。

    默认情况下,您可以上传的文件类型为:

    图片:

    • .jpg
    • .jpeg
    • .png
    • webp
    • .gif
    • .ico

    视频

    • .mp4
    • .m4v
    • .mov
    • .wmv
    • .avi
    • .mpg
    • .ogv
    • .3gp
    • .3g2

    文件

    • .pdf
    • .doc
    • .ppt、.pptx、.pps、.ppsx
    • .odt
    • .xls、.xlsx
    • .psd

    音频

    • .mp3
    • .m4a
    • .ogg
    • .wav

    如果您尝试上传不在上述列表中的文件类型,您可能会遇到“抱歉,出于安全原因,不允许使用此文件类型”错误。或者,您还会看到“[文件名] 上传失败”。

    例如,如果你想使用你的WordPress站点自定义的字体,你可能会试图将.TFF和/或.woff格式自定义字体文件上传到WordPress。由于默认情况下不允许使用这些格式,WordPress 会向您显示“抱歉,出于安全原因,不允许使用此文件类型”错误,而不是让您上传它们。

    这是我们尝试将.woff文件上传到我们的测试站点的示例:

    上传 .woff 文件会触发消息

    上传 .woff 文件会触发消息

    如何修复“抱歉,出于安全原因不允许此文件类型”错误

    下面,我们将向您展示如何修复WordPress报错“抱歉,出于安全原因,不允许此文件类型”的两种方法:

    1. 通过编辑您网站的wp-config.php文件
    2. 通过使用免费的WordPress插件

    1. 使用wp-config.php添加新的允许文件类型

    WordPress包含一个ALLOW_UNFILTERED_UPLOADS选项,您可以在站点的wp-config.php文件中启用该选项。启用后,您将能够将任何文件类型上传到您的WordPress媒体库。

    这是设置方法 – 但首先,因为您将编辑wp-config.php文件,我们建议您在继续之前备份您的站点

    首先,通过FTP/SFTP连接到您的WordPress站点。您站点的wp-config.php文件位于根文件夹中,该文件夹与wp-adminwp-includes文件夹相同。

    右键单击以编辑文件,或将其下载到您的计算机:

    编辑wp-config.php文件

    编辑wp-config.php文件

    然后,在编辑wp-config.php文件时,在 /* That’s all, stop editing! Happy blogging. */行前填下下面代码:

    define(‘ALLOW_UNFILTERED_UPLOADS’, true);
    define(‘ALLOW_UNFILTERED_UPLOADS’, true);
    define('ALLOW_UNFILTERED_UPLOADS', true);

    wp-config.php文件添加代码的位置

    wp-config.php文件添加代码的位置

    保存更改并在需要时重新上传文件。

    要完成此过程,您需要转到WordPress仪表盘并注销您的WordPress帐户。然后,您可以立即重新登录。

    注销/登录后,您应该能够上传任何文件而不会触发错误消息:

    成功上传 .woff文件

    成功上传 .woff文件

    2. 使用免费的WP Extra File Types插件

    如果您不想编辑您的wp-config.php文件和/或您想要更多地控制可以将哪些文件类型上传到您的网站,您可以使用WordPress.org上的免费WP Extra File Types插件.

    安装并激活插件后,转到WordPress 仪表板中的设置 → Extra File Types

    在那里,您会看到一长串文件类型。选中您希望能够上传的文件类型旁边的框,然后单击底部的保存更改

    插件设置允许文件类型

    插件设置允许文件类型

    如果您在列表中没有看到要上传的文件类型,您还可以在插件设置列表的底部添加您自己的自定义文件类型:

    添加自定义文件类型

    添加自定义文件类型

    替代插件

    在某些情况下,可能有更好的替代插件来启用特定的文件类型。例如,在我们关于如何在WordPress中启用SVG的教程中,我们推荐免费的Safe SVG插件。这不仅可以启用WordPress媒体库中的SVG文件类型,还可以在上传时对其进行清理。

    小结

    默认情况下,出于安全原因,WordPress会限制您可以上传到站点的文件类型。如果您尝试上传此默认文件类型列表之外的文件类型,您将看到“抱歉,出于安全原因,不允许使用此文件类型”。信息。

    解决此问题的一种方法是编辑您的wp-config.php文件并添加ALLOW_UNFILTERED_UPLOADS代码片段以允许未经过滤的上传。或者,您也可以使用免费的WP Extra File Types插件控制允许的文件类型。

    最后,如果在允许新文件类型后,由于文件大小而仍然无法上传文件,您可能需要查看我们的附加指南:

    不要忘记,如果需要,您还可以通过SFTP上传文件。

  • 什么是HTTP 429 Error及如何修复该错误

    错误类型:
    HTTP错误
    错误名称:
    HTTP 429错误码
    英文名称:
    HTTP 429 Error
    错误描述:
    在某些情况下,当您的服务器检测到用户代理尝试在短时间内过于频繁地访问特定页面时,它会触发速率限制功能。最常见的例子是用户(或攻击者)反复尝试登录您的站点。
    错误变体:
    “429 error”
    “HTTP 429”
    “Error 429 (Too Many Requests)”
    更多信息

    什么是HTTP 429 Error

    您可以得到的“最佳”错误类型是那些准确地告诉您导致问题的原因的错误。HTTP 429 Error就是这样的错误,您会立即知道问题是什么,因此您可以立即开始确定罪魁祸首。

    简而言之,当某人或某物向您的服务器发出过多请求时,就会出现429错误。如果您使用的是WordPress,有几种简单的方法可以解决此问题。

    在本文中,我们将讨论导致 429 Too Many Requests错误的原因及其外观。然后,如果您遇到此特定问题,我们将介绍五种可以对您的网站进行故障排除的方法。

    什么是429错误码?

    HTTP 429 Error因其随附的消息而广为人知,该消息内容为:“请求过多”。根据您使用的浏览器,错误代码可能略有不同。它的一些最常见的变体包括:

    1. “429 error”
    2. “HTTP 429”
    3. “Error 429 (Too Many Requests)”

    如您所见,“429”标识符始终存在。简而言之,此错误代码意味着两件事之一。要么您的Web服务器被它收到的请求数量所淹没,要么它有一个设置来阻止来自特定IP地址的连接,如果它检测到异常。

    “异常”是指可疑行为,例如某个特定 IP 反复尝试访问您网站的登录页面。拒绝服务 (DDoS) 攻击也可能触发HTTP错误-429,因为安全服务器很容易识别这种恶意行为。

    准确了解什么会触发错误429很重要。如果您是多次尝试访问某个页面的人,那么错误应该很快就会自行消失。例如,您的Web主机可能设置了在发生可疑行为后的几分钟内限制访问的设置。

    另一方面,如果错误仍然存​​在,则可能表示恶意攻击或第三方服务使您的服务器不堪重负。在这种情况下,您可能需要卷起袖子自行修理。

    什么导致HTTP 429请求过多错误

    在某些情况下,当您的服务器检测到用户代理尝试在短时间内过于频繁地访问特定页面时,它会触发速率限制功能。最常见的例子是用户(或攻击者)反复尝试登录您的站点。

    但是,您的服务器也可能使用 cookie 来识别用户,而不是通过他们的登录凭据。请求也可以基于每个请求、跨您的服务器或跨多个服务器进行计数。因此,有多种情况可能会导致您看到以下错误之一:

    • 429 请求过多
    • 429 错误
    • HTTP 429
    • 错误 429(请求过多)

    该错误还可能包括有关 429 状态代码原因的其他详细信息,以及用户在尝试再次登录之前必须等待的时间。下面是一个示例

    HTTP/1.1 429 Too Many Requests
    Content-type: text/html
    Retry-After: 3600
    HTTP/1.1 429 Too Many Requests
    Content-type: text/html
    Retry-After: 3600
    HTTP/1.1 429 Too Many Requests
    Content-type: text/html
    Retry-After: 3600
    <html>
    <head>
    <title>Too Many Requests</title>
    </head>
    <body>
    <h1>Too Many Requests</h1>
    <p>I only allow 50 requests per hour to this website per logged in user. Try again soon. </p>
    </body>
    </html>
    <html>
    <head>
    <title>Too Many Requests</title>
    </head>
    <body>
    <h1>Too Many Requests</h1>
    <p>I only allow 50 requests per hour to this website per logged in user. Try again soon. </p>
    </body>
    </html>
    <html>
    <head>
    <title>Too Many Requests</title>
    </head>
    <body>
    <h1>Too Many Requests</h1>
    <p>I only allow 50 requests per hour to this website per logged in user. Try again soon. </p>
    </body>
    </html>

    不管错误如何出现,它总是意味着同样的事情——有一个用户或一段代码用太多的请求使你的服务器不堪重负。有时,问题会自行消失。在其他情况下,例如由插件问题或拒绝服务 (DDoS) 攻击引起的情况,您需要主动解决错误。

    问题是 429 错误最常影响您的登录页面,这可能使您无法访问网站的仪表板。这可能会使修复它有点棘手,但如果您知道要尝试什么,它仍然可以实现。

    如何修复WordPress中的HTTP错误-429

    在以下部分中,我们将探索修复HTTP 429 Error的四种最常见方法。我们将按照通常最有效的顺序处理这些修复,首先是对您的插件进行故障排除。

    1. 更改WordPress登录 URL

    暴力登录尝试是WordPress网站上429 错误的主要原因之一。防止攻击者试图突破您的WordPress登录页面的一种快速方法是更改其默认选项的URL,这样他们就无法首先找到它。

    默认情况下,您可以通过导航到yourwebsite.com/wp-admin来找到您的登录页面。这很容易记住,但它也完全不安全,因为网络上的每个人都知道在哪里访问它。

    更改默认WordPress URL的最简单方法是使用免费的WPS Hide Login插件:

     WPS Hide Login插件

     WPS Hide Login插件

    让我们来看看使用这个特定工具的过程。您首先要像其他任何插件一样安装和激活插件,然后导航到WordPress仪表板中的设置>WPS Hide Login选项卡:

    更改登录网址

    更改登录网址

    在这里,您可以通过输入您想使用的任何扩展程序轻松更改您的登录URL。确保远离易于猜测的选项,例如loginwp-login等。这首先会违背更改URL的目的,因此您需要为您的站点设计一些独特的内容。

    请注意,此插件还可让您将尝试访问旧登录 URL 的用户重定向到另一个页面。例如,默认选项将向尝试访问/wp-admin的任何人显示404错误页面,因此他们会知道他们在错误的位置查找。完成后,请记住保存对设置的更改,这样您就可以开始使用了。

    如今,您没有理由不为您的网站设置安全套接字层 (SSL) 证书。同样,您的整个网站应该通过HTTPS加载。这比使用旧的HTTP协议安全得多,它甚至可以对您网站的搜索引擎优化 (SEO)产生积极影响。

    在强制使用 HTTPS 时,您可以使用手动路由(例如.htaccess重定向)或插件。最受欢迎的选择之一是Really Simple SSL

    Really Simple SSL插件

    Really Simple SSL插件

    这个插件的吸引力在于它只需点击几下就可以强制您的整个网站通过HTTPS加载。但是,根据我们的经验,它也可能导致偶尔出现错误。例如,在某些情况下,它会触发我们一直在谈论的429错误。

    这个插件本身没有什么问题,但它绝对不是实现HTTPS使用的最佳方式。问题是,即使您手动实施HTTPS,您仍然面临如何处理内部链接的问题。您的网站上可能有很多内部链接,因此您需要找到一种方法,在禁用插件后将它们全部替换为HTTPS版本。

    首先,您需要处理插件本身。如果您有权访问WordPress管理后台,禁用Really Simple SSL应该不是问题 – 只需点击停用即可

    停用Really Simple SSL插件

    停用Really Simple SSL插件

    但是,由于429 Too Many Requests错误通常会阻止您访问仪表盘,因此您可能必须采用手动方式并使用FTP客户端禁用插件。

    无论哪种方式,一旦Really Simple SSL插件消失,429错误就应该得到解决。这意味着您可以访问仪表盘以设置新插件,这将帮助您一次性替换所有内部链接。该插件称为Search and Replace

    Search and Replace插件

    Search and Replace插件

    继续并激活插件,然后导航到WordPress中的工具 > Search & Replace选项卡。在里面,选择wp_postmeta表,然后分别在Search for和Replace with字段旁边输入以下参数:

    如果您的站点使用非www域:

    http://yourwebsiteurl.comhttps://yourwebsiteurl.com

    在某些情况下,数据库中也可能有您的域的www实例,因此我们还建议运行另一次搜索并替换为以下设置。

    http://www.yourwebsiteurl.comhttps://yourwebsiteurl.com

    如果您的站点使用www域:

    http://www.yourwebsiteurl.comhttps://www.yourwebsiteurl.com

    要替换数据库中域的非www实例,请运行另一个搜索并替换为以下设置:

    http://www.yourwebsiteurl.comhttps://yourwebsiteurl.com

    然后选择试运行选项,这会让您知道插件将在您的数据库中替换多少个HTTP URL实例。在那次试运行之后,真正执行插件,它将替换所有必要的链接。

    请记住,禁用Really Simple SSL插件后,您还需要使用.htaccess文件设置站点范围的HTTPS重定向。这将使您能够有效地实施HTTPS,而不会出现进一步429错误的风险。

    3. 禁用所有插件

    到目前为止,我们专注于可能导致 429 错误的单个插件。但是,实际上,任何插件如果发出过多的外部请求,都可能导致此问题。如果上述方法都无法解决您的情况,可能是时候尝试一次禁用所有插件,以确保它们不是问题。

    通常,流氓插件可能会导致持续的 429 错误。根据我们的经验,最有可能触发此类错误的插件是:

    • 安全插件
    • 强制您的网站通过HTTPS加载的解决方案
    • 以一种或另一种方式重写WordPress URL的工具

    确定插件是否触发HTTP错误 429的最快方法是禁用您站点上所有活动的插件。如果之后错误仍然存​​在,那么您可以尝试不同的修复程序,如果它消失了,您可以开始缩小罪魁祸首的范围。

    禁用WordPress插件很简单。但是,错误429有时会阻止您访问WordPress管理后台。如果您遇到这种情况,暂时关闭插件的最佳方法是使用文件传输协议 (FTP)。

    通过FTP连接到您的网站后,导航到wp-content 文件夹。在那里你会看到一个名为plugins的文件夹。如果您将该文件夹重命名为其他任何名称,它将一举禁用您网站上的每个插件:

    禁用WordPress插件

    当然,这样做会影响您网站的功能。但是,您的主要目标应该是重新获得访问权限,并查看插件是否触发了错误。

    如果下次访问您的网站时 429 错误消失了,您可以假设您关闭的插件之一是罪魁祸首。这意味着您需要缩小导致问题的原因。为此,您需要:

    1. 删除你一分钟前设置的空插件目录,并将之前的文件夹恢复到原来的名称。
    2. 访问插件目录。
    3. 将其中的一个插件文件夹重命名为其他任何内容,这将仅停用该特定插件。
    4. 尝试访问您的网站,看看 429 错误是否消失。
    5. 如果错误仍然存​​在,请将该插件文件夹恢复为其原始名称,然后对下一个重复步骤 3 和 4。

    通过一项一项地向下移动您的活动插件列表,您最终应该会发现哪个是罪魁祸首。一旦确定了 429 Too Many Requests 错误背后的插件,您可以将其完全删除,这应该可以解决问题。

    4. 切换到默认的WordPress主题

    在某些情况下,您的活动WordPress主题可能会出现错误429。这很可能是使用API密钥进行身份验证的复杂主题。

    再一次,我们假设您无权访问您的WordPress仪表盘来处理这个潜在问题。然而,就像使用插件一样,您可以使用FTP客户端来禁用您的活动主题。

    该过程与我们在上一节中介绍的步骤大致相同:

    1. 通过FTP连接到您的WordPress网站。
    2. 导航到wp-content/themes
    3. 找到您的活动主题文件夹。
    4. 将该文件夹重命名为其他任何名称。

    由于WordPress要求您的网站具有活动主题,因此它会自动切换到默认选项之一。如果您现在打开您的网站并且错误消失了,那么一切看起来都应该略有不同。

    在此阶段,您可以尝试重新安装主题或恢复其现有文件夹的先前名称。如果错误仍然存​​在,那么您可能需要恢复到主题的先前版本或考虑使用不同的.

    5. 联系服务器提供商

    任何优质的服务器支持服务都会感谢您在联系他们之前尝试解决问题。当谈到HTTP错误429时,如果您排除了插件和主题,那么您可以假设问题很可能是第三方对您网站的攻击。

    这里有很多的,你可以用它来的措施保护你的WordPress网站。然而,其中大多数是先发制人的措施。如果您的网站目前“受到攻击”,那么您可能需要请求技术帮助。

    即使您无法访问您的网站,您的网络托管服务商的支持服务也应该能够查看其安全日志,看看是否有问题。他们可能还能够恢复您无权访问的早期备份。

    所以在这一点上,我们的建议是让您的托管服务提供商知道您正在查看什么错误,以及您尝试解决的问题。一旦错误429消失,您就可以采取措施保护您的网站,以免再次出现此问题。

    小结

    就错误而言,429错误并不难处理。在最坏的情况下,它可能会阻止您登录WordPress管理后台,但您仍然可以采取一些简单的步骤来尝试解决该问题。

    如果您遇到HTTP错误-429 并且它持续超过几分钟,这里有四个快速修复可以帮助您将网站恢复正常:

    1. 更改您的默认WordPress登录URL。
    2. 禁用真正简单的SSL 插件。
    3. 暂时停用所有WordPress插件。
    4. 切换到默认的WordPress主题。
    5. 如果您仍然无法解决错误,请联系您的主机。

    注意,你的WordPress网站遭遇HTTP 429 Error,与你的网站连接WordPress网站返回的429 Too Many Requests完全是两码事。如果是您的网站在连接WordPress网站更新WordPress,又或者更新主题或插件时,WordPress告知你429 Too Many Requests,则需要采取另外的解决方案:WordPress报错“429 Too Many Requests”完美解决办法