如何修复 HTTP 302 错误(5 种方法)

HTTP 302 代码是一种将网站用户临时重定向到不同 URL 的宝贵方式。但是,如果您的网站错误地提供 302 重定向,则表明出现问题。

尝试免费演示

别担心——你可以解决这个问题——但你需要做一些故障排除。

第一步是准确了解 HTTP 302 代码是什么、它们如何工作以及它们为何出现。一旦你知道了这一点,你就可以弄清楚出了什么问题以及如何改正。

在这篇文章中,我们将告诉您有关 HTTP 302 错误的所有信息。然后我们将分享五个故障排除提示,以帮助您解决这些问题。

让我们开始吧!

什么是 HTTP 302 状态代码?

302 代码是一种特定类型的 HTTP 状态代码。这些代码就像服务器传递给您浏览器的“注释”。

每当您单击链接或导航到 URL 时,您的浏览器都会向网络服务器请求相同的内容。作为回报,服务器将相关资源(例如您尝试访问的页面)连同 HTTP 标头一起发回。HTTP 状态代码位于该标头内。

通常,您无法在网页的任何位置看到这些状态代码。您通常只会在发生错误时看到它们,或者如果您安装了使它们可见的浏览器扩展程序:

显示当前 URL 的 HTTP 状态代码的屏幕截图,通过使用 Chrome 浏览器扩展程序显示。

网页的 HTTP 状态代码,使用 Chrome 浏览器扩展程序显示。

3xx 状态代码(301、302 等)是一类称为“重定向代码”的状态代码。每当服务器发回新资源而不是请求的资源时,就会返回它们。

换句话说,当您打算访问的网站页面将您重定向到其他页面时,就会显示它们。

代码 301 和代码 302 之间的关键区别在于,前者用于永久重定向,而后者用于临时重定向。

301 重定向也会通过“链接汁”,而 302 则不会。这对搜索引擎优化 (SEO) 有重大影响。

😬 现在呢?🤷‍♀️ 从这份详尽的指南开始 ⤵点击推文

302 重定向如何工作

当您为网站上暂时不可用的页面设置 302 重定向并且用户访问该页面时,您的网络服务器将使用特殊的位置标头响应访问者的浏览器。此标头将指示浏览器应将用户重定向到的新 URL。

例如,假设用户在其浏览器 URL 栏中键入 blog.example.com,但该网站已配置为将其重定向到 blogging.example.com。

服务器响应将包含 302 状态代码和 Location: blogging.example.com 标头。此设置告诉用户的浏览器将此请求重定向到新 URL。

当然,所有这一切都是在幕后自动发生的。用户不应该能够看到这些播放的任何内容。相反,他们的浏览器应该自动将他们带到新资源。

为什么会发生 HTTP 302 错误

如果您网站上的某些内容配置错误,则可能会导致错误地发出 302 代码。如果发生这种情况,您可能会遇到以下问题:

  • 您网站上的一个页面,在不应该将您的访问者重定向到其他地方时
  • 您网站上将访问者重定向到错误资源的页面
  • ERR_TOO_MANY_REDIRECTS 错误(也称为“重定向循环”)

这些问题中的最后一个是唯一会显示实际错误页面的问题。如果您使用 Chrome 浏览器,重定向循环错误页面将如下所示:

Chrome ERR_TOO_MANY_REDIRECTS 错误消息,文本为

Chrome ERR_TOO_MANY_REDIRECTS 错误消息。

在 Mozilla Firefox 上,它看起来像这样:

Firefox ERR_TOO_MANY_REDIRECTS 错误消息,带有文本

Firefox ERR_TOO_MANY_REDIRECTS 错误消息。

以上所有问题都是由一些错误配置引起的。这可能是插件冲突、不正确的 URL 设置或错误配置的 .htaccess 文件。

如何修复 HTTP 302 错误(5 种方法)

接下来,我们将向您介绍五种故障排除方法,这些方法可以帮助您找出导致问题的原因并加以解决。

在我们开始之前,请确保先对您的网站进行完整备份。这样,如果出现任何问题,您始终可以恢复到以前的版本。您可以使用 WordPress 插件来执行此操作。

1. 确定重定向是否有效

302 响应通常不是错误。暂时将用户重定向到不同的页面可能是一种有效的配置,通常不需要修复。

如果您的网站以不应发布的 302 代码响应,或者导致重定向循环,这只是一个错误。因此,第一步是仔细检查哪些 URL 正在生成 HTTP 302 代码,并确定重定向是否合适。

为此,您可以导航到您怀疑出现 302 错误的网站页面,并亲自查看它们的行为是否符合预期。如果暂时不可用的页面重定向到正确的资源,则它已被适当配置。

但是,如果页面将您重定向到错误的资源,或者您的浏览器通过显示 ERR_TOO_MANY_REDIRECTS 错误页面报告重定向循环,则表明您的一个(或多个)重定向配置不正确。

2. 检查你的插件

302 错误和重定向循环的最常见原因之一是插件。

一些 WordPress 重定向管理器插件和 SEO 工具(如 Yoast SEO)为您管理您的网站重定向,并使您能够设置重定向规则:

Yoast SEO Premium 插件重定向设置页面。

Yoast SEO Premium 插件重定向设置页面。

如果这些规则配置错误,或者两个插件发生冲突,可能会导致意外问题。因此,您需要检查站点上安装的每个相关工具。

订阅时事通讯

想知道我们是如何将流量增加超过 1000% 的吗?

加入 20,000 多名其他人,他们会收到我们的每周时事通讯,其中包含 WordPress 内幕技巧!

现在订阅

例如,如果您使用流行的 301 重定向 WordPress 插件,您可以通过导航到设置 > 301 重定向来检查配置。在重定向规则下,您将看到您设置的所有重定向规则的列表:

301 Redirects WordPress 插件的重定向规则设置页面。

301 Redirects WordPress 插件的重定向规则设置页面。

检查此处列出的所有 302 重定向,并确保它们都是正确的。

您还需要确保没有以可能导致重定向循环的方式设置任何内容。例如,如果 Page-A 设置为重定向到 Page-B,但 Page-B 也设置为重定向到 Page-A,这将导致错误。

如果您有多个重定向管理器插件并且您不确定是哪个导致了问题,您可以尝试从 WordPress 插件页面一个一个地停用它们(请务必先进行备份):

WordPress 管理仪表板中的插件页面。

WordPress 管理仪表板中的插件页面。

停用每个插件后,尝试重新访问问题 URL 以查看 302 错误是否仍然存在。

如果问题突然得到解决,您就会知道是哪个插件导致了问题,然后您可以选择进一步排除故障或将其从您的站点中删除。

3. 确保您的 WordPress URL 设置配置正确

HTTP 302 错误的另一个常见原因是 WordPress URL 设置中的错误配置。

要检查这一点,请导航到 WordPress 仪表板中的设置 > 常规。在这里,您应该会看到一个 WordPress 地址 (URL) 字段和一个站点地址 (URL) 字段:

WordPress 中的“常规设置”页面,带有突出显示的地址字段。

WordPress 中的常规设置页面。

在大多数情况下,这两个字段中的 URL 应该匹配。确保它们是相同的,包括域名前的“www”部分(或缺少)。

如果它们不匹配,请更新设置,然后检查发出 HTTP 302 错误的页面的 URL 以查看它是否已修复。

与我们世界一流的支持团队一起体验卓越的 WordPress 托管支持!与支持我们的财富 500 强客户的同一团队聊天。查看我们的计划

4. 检查您的服务器配置

错误配置的服务器有时也会导致 302 重定向错误。因此,下一步是检查您的服务器配置。

如果您的主机使用 Apache 网络服务器,您可以通过检查您的 .htaccess 文件来做到这一点。

信息

此步骤不适用于托管在 Nginx 服务器上的站点。如果您的主机使用 Nginx 服务器,就像 Kinsta 那样,您可以继续进行下一个故障排除步骤。

首先,通过控制面板(如 cPanel 或 FTP 客户端)连接到您站点的服务器。然后导航到您站点的根目录 – 与 wp-admin 和 wp-content 文件夹相同的位置 – 并找到 .htaccess 文件:

在网站的根目录文件夹中突出显示的 .htaccess 文件的屏幕截图。

站点根目录中的 .htaccess 文件。

如果您在此处找不到 .htaccess 文件(并且您确定在 Apache 服务器上),您可能需要告诉 FileZilla 在它出现在文件列表中之前显示隐藏文件。

接下来,在您喜欢的文本编辑器中打开该文件。它应该是这样的:

在文本编辑器中打开的 .htaccess 文件的屏幕截图,代码中突出显示了 RewriteXXX 指令。

.htaccess 文件中的 RewriteXXX 指令。

现在,我们将寻找 RewriteXXX 指令(上面突出显示的元素)。无需太技术化,RewriteCond 和 RewriteRule 指令用于执行从一个 URL 到另一个 URL 的重定向。

RewriteCond 指令指定您要将访问者重定向到的 URL,而 RewriteRule 指令指定您要将其重定向到的 URL。下面是一个例子:

RewriteCond上的RewriteEngine %{HTTP_HOST} ^website.com$
RewriteRule ^(.*)$ http://www.temporary-website.com/$1 [R=302]

最后的标志“[R=302]”告诉浏览器这是一个临时的 302 重定向。

如果您在 .htaccess 文件中发现与上述类似的任何 RewriteXXX 组合不应该存在,您可以将它们注释掉,保存更改,然后重新加载问题网页以查看它是否解决了问题。

在进行任何更改之前,请确保下载并保存 .htaccess 文件的备用副本,以防出现问题。

5. 与您的虚拟主机交谈

如果您已经尝试了上述所有方法,但仍然遇到问题,那么下一步就是与您的网络托管服务商联系。

对超过这一点的 302 代码错误进行故障排除需要大量的技术知识。因此,除非您是专业开发人员,否则最好向专家寻求帮助。

在 Kinsta,我们认真对待支持。我们的 WordPress 专家团队随时准备帮助您解决此类问题:

Kinsta 支持页面的屏幕截图。

Kinsta 支持页面。

我们提供 24/7 全天候服务。您所要做的就是登录您的 MyKinsta 帐户并通过实时聊天与我们联系,以与可以实时提供帮助的支持工程师联系。

不要让 HTTP 302 代码减慢您的工作速度。🙅‍♀️ 通过这 5 个故障排除技巧了解如何解决这些问题💥点击推文

概括

HTTP 302 状态代码是重定向网站访问者的一种完全正常的方式。但是,它们只能在资源页面暂时不可用时使用。

假设您的网站错误地发出 302 代码或导致重定向循环。在这种情况下,尽快解决此问题至关重要,否则可能会对您的 SEO 和转化产生负面影响。

您可以按照以下五个步骤修复您网站上的 HTTP 302 错误:

  1. 通过检查发出 302 重定向的 URL 来确定重定向是否合适。
  2. 检查您的插件以确保任何重定向设置都有效。
  3. 确保您的 WordPress URL 设置配置正确。
  4. 通过在 .htaccess 文件(仅限 Apache 服务器)中查找不正确的 RewriteXXX 指令来检查您的服务器配置。
  5. 如果问题仍然存在,请与您的网络托管服务商联系以获得进一步的技术支持。

您对 HTTP 302 错误有任何疑问吗?请在评价部分留下您的意见。

通过以下方式节省时间、成本并最大限度地提高站点性能:

  • 来自 WordPress 托管专家的即时帮助,24/7。
  • Cloudflare 企业集成。
  • 全球受众覆盖全球 28 个数据中心。
  • 使用我们内置的应用程序性能监控进行优化。

所有这些以及更多,在一个没有长期合同、协助迁移和 30 天退款保证的计划中。查看我们的计划或与销售人员交谈以找到适合您的计划。

相关文章