307 临时重定向:它是什么以及何时使用它

已发表: 2021-07-07

当您运行网站时,了解您可能遇到的各种超文本传输​​协议 (HTTP) 状态代码非常重要。 虽然有些是错误,但像“307 重定向”这样的其他错误对于确保访问者可以成功访问您的 URL(并且您不会受到搜索引擎的惩罚)至关重要。 但是,这并不是唯一可用的重定向类型,因此您可能想知道何时适合使用它。

在这篇文章中,我们将更详细地讨论 307 重定向。 我们将解释它们是什么以及何时使用它们,以及一些有效执行此操作的关键提示。

让我们开始工作吧!

订阅我们的 YouTube 频道

什么是 307 重定向(以及它的作用)

有数十种 HTTP 状态代码,分为五个主要类别。 例如,遵循“4XX”结构的代码(如 404)是客户端错误。

HTTP“3XX”是重定向类别。 有九种不同类型的重定向。 例如,301 状态代码用于指示网页何时永久移动。

重定向状态代码对于搜索引擎优化 (SEO) 至关重要。 将用户搜索引擎机器人正确路由到适当的 URL 很重要,尤其是当他们移动时。

307 是一种临时重定向。 此 HTTP 响应状态代码意味着某人请求的 URL 已暂时移动到不同的 URI(用户资源标识符),但最终将返回其原始位置。 此外,它还告诉搜索引擎您的服务器与 HTTP 1.1 兼容。

无需太技术化,307 重定向是 302 重定向的较新版本(或后续版本)。 后者可用于临时将用户重新路由到新 URL,这在您重新设计网站时会派上用场。

另一方面,307 重定向表示用户请求的 URL 已移动到临时位置,但会返回。 302 和 307 之间的主要区别在于请求方法不会随着 307 状态代码而改变:

307 内部重定向标头响应的示例。

例如,请求不能从 GET 更改为 POST。 它必须是 GET 和 GET,或者 POST 和 POST。 简而言之,这些请求-响应方法是浏览器和服务器通信的方式。 您可以在 W3Schools 上详细了解各种 HTTP 请求方法之间的区别。

307 重定向的工作原理

我们谈的时候,你应该使用307重定向之前,它可能有助于理解它是如何工作的。 首先,您的浏览器向您尝试访问的站点的 Web 服务器发送初始请求。

使用Location标头,服务器然后以 HTTP 3XX 状态代码(在本例中为 307)进行响应。 然后浏览器将请求发送到新的 URL 位置,服务器再次响应(这次通过发送显示网页所需的数据)。

请注意,有两种类型的 307 重定向:临时和内部。 307 内部重定向是 307 临时的变体,发生在浏览器级别。 因此,它不会影响您网站的 SEO。

何时使用 307 重定向

重定向可能是您网站维护的一个有用部分。 但是,重要的是要小心使用它们的时间和方式,以及使用哪些。 过多的 URL 重定向会减慢您的加载时间,并损害您的用户体验 (UX) 和 SEO。

因此,最佳做法是谨慎使用它们。 话虽如此,使用 307 重定向时有一些场景是合适的。 这包括当您:

  • 更新页面上的内容
  • 迁移到不同的内容管理系统 (CMS)
  • 切换域名
  • 由于维护而暂时关闭您的网站

关键是仅在您知道移动是暂时的时才使用 307 重定向。 否则,您最好使用 301 或 308 重定向,这样您的 SEO“链接汁”就会从旧 URL 传递到新 URL。

当您打算永久删除或移动页面,或者您正在更改页面的永久链接结构时,通常最好使用 301 重定向。 同样,当您仍然希望它们指向的页面出现在搜索引擎结果中时,最好使用 301 重定向。 如果您想在您创建的新页面上从访问者那里获得反馈,同时又不妨碍您的 SEO,这也会很有帮助。

如何在您的网站上实施 307 临时重定向

除了了解各种类型的重定向之外,了解如何正确实现和使用它们也很重要。 以下是在您的网站上使用 307 重定向的一些关键提示。

通过.htaccess文件实现临时重定向

有几种不同的方法来实现重定向。 在 WordPress 网站上,最好的方法通常是在您的.htaccess文件中指定 307 重定向,该文件是您的主要服务器配置文件。

请注意,由于这是一个如此重要的文件,因此谨慎对待对其所做的任何更改至关重要。 我们还建议在修改此文件之前创建站点的备份,尤其是在您没有太多开发经验的情况下。

然后您可以通过文件传输协议 (FTP) 客户端或您的主机帐户的文件管理器应用程序访问它。 通常,您可以在站点根目录的public_html文件夹中找到它:

通过文件管理器访问 .htaccess 文件。

.htaccess文件中,您可以使用mod_rewrite模块实现重定向。 这看起来像这样:

[PHP]
# 使用临时重定向将服务页面重定向到新页面
RewriteRule “^/service$” “/about/service” [R]
[/php]

如需更多信息和指导,您可能需要参考 Google 的搜索中心关于创建重定向的指南。

使用插件在您的网站上添加重定向

除了自己手动配置重定向,另一种选择是使用 WordPress 重定向解决方案,例如 Quick Page/Post Redirect Plugin:

快速页面/帖子重定向插件。
这个免费工具可让您将 301、302 和 307 重定向添加到您的 WordPress 网站。 但是,重要的是要注意它使用所谓的“元刷新”重定向。

元刷新重定向发生在浏览器中,而不是您的 Web 服务器中。 这意味着重定向会告诉浏览器在特定时间跨度内导航到指定的 URL。 当您看到一个网页内容如下:“如果您没有在 5 秒内重定向,请单击此处”时,就会发生这种情况。

这些类型的重定向不仅会使您的访问者感到困惑,而且如果使用频率过高,它们还会使搜索引擎抓取工具认为您的网站包含垃圾邮件内容。 因此,我们只建议在您无法通过.htaccess文件设置重定向时使用此方法(例如,如果您的 Web 主机不提供对它的访问)。

结论

深入了解 HTTP 响应状态代码是成为成功网站所有者的重要组成部分。 设置重定向可以帮助您正确执行站点维护。 如果您只想临时移动 URL,我们建议您使用 307 重定向。

正如我们在这篇文章中所讨论的,307 重定向是一种状态代码,您可以使用它来将访问者指向一个新的 URL,但最终在您完成更改或更新后将他们带回原始 URL。 当您不希望您的 SEO“链接汁”从旧 URL 传递到新 URL 时,最好使用此选项。

您对 307 重定向还有其他疑问吗? 在下面的评论部分让我们知道!

精选图片来自 Andrii Yalanskyi / shutterstock.com