S.EE 博客

301、302 与 307 重定向有什么区别,为什么值得关注?

重定向并非都一样。了解 301、302 和 307 的关键区别,以及选错类型会怎样影响 SEO 和链接表现。

David7 分钟阅读
链接重定向类型对比

分享链接时,你通常希望它能把人带到某个页面。但在背后,很多链接并不直接到达最终目标,而是先经过重定向。这不只是技术细节:所用的重定向类型,会影响搜索引擎如何处理页面、浏览器是否缓存目标地址,以及链接在长期使用中是否可靠。

如果你想知道 301、302 和 307 究竟是什么意思,以及选哪种是否重要,本文会逐一说明。

#什么是重定向

重定向是服务器发给浏览器(或任何 HTTP 客户端)的一条指令,意思是:「你请求的 URL 已经移动,请改去这里。」这条指令以 HTTP 状态码的形式发送,其中的三位数字会准确告诉浏览器,这次移动属于哪一种。

最常见的重定向状态码是 301、302 和 307。它们的基本作用相同,都是把用户送到别处,但有两个重要区别:是否永久,以及是否保留请求方法。

#301 重定向:永久迁移

301 表示永久重定向。浏览器访问 URL 后收到 301 响应,相当于服务器在说:「这个页面已永久迁移,请更新记录。」

浏览器和搜索引擎会认真处理这条指令。Google 会将原页面的大部分链接权重(有时称为「link juice」)传递给新 URL,浏览器则会缓存重定向,让之后的访问完全跳过向原地址发起请求的过程。

以下情况适合使用 301:

  • 已把页面永久迁移到新的 URL
  • 正将网站迁移到新域名
  • 要将重复内容合并到同一个规范 URL
  • 已更改 URL 结构,而且不打算恢复

要记住一点:浏览器会积极缓存 301,所以撤销起来可能比较麻烦。如果之后决定把流量导向其他地方,一部分用户可能仍会在一段时间内访问缓存中的旧目标地址。

#302 重定向:临时迁移

302 表示临时重定向。服务器的意思是:「页面暂时位于另一个地址,但原 URL 仍是规范地址。」

搜索引擎处理 302 的方式不同。它们不会像处理 301 那样传递链接权重,而且会继续索引原 URL,因为预期页面会恢复。浏览器默认也不缓存 302 响应,所以每次访问都会重新向服务器发起请求。

以下情况适合使用 302:

  • 开展短期促销,需要把流量导向临时着陆页
  • 想对目标页面进行 A/B 测试,暂时不确定最终使用哪一个
  • 网站维护期间,将用户临时重定向到状态页面
  • 希望之后能灵活调整或移除重定向,而不影响 SEO

问题在于,302 有时会被误用。如果让 302 持续几个月甚至几年,搜索引擎最终可能将它视为永久迁移,却不会赋予正确使用 301 时的全部 SEO 收益。如果本来就打算永久重定向,应该从一开始就使用 301。

#307 重定向:临时迁移,保留请求方法

307 也是临时重定向,很容易与 302 混淆。关键区别虽然偏技术,但很重要:307 会保留原请求的 HTTP 方法。

具体来说,浏览器通过 POST 请求提交表单,遇到 302 重定向时,多数浏览器会自动把后续请求改成 GET。这可能造成数据丢失或意外行为。307 则要求浏览器向新 URL 重复完全相同的请求:方法相同,请求体也相同。

以下情况适合使用 307:

  • 重定向 API 请求或表单提交,而且必须保留 HTTP 方法
  • 处理非 GET 请求(POST、PUT、DELETE),需要重定向不改变请求行为
  • 需要临时重定向,并严格保留请求方法

对于大多数普通链接重定向,也就是用户点击链接后到达另一个地方的情况,307 和 302 不会带来明显差异。但对应用和 API 来说,这个区别很重要。

还有一种 308(永久重定向),它在永久重定向中的作用,相当于 307 在临时重定向中的作用:保留 HTTP 方法,同时表示永久迁移。在需要保留请求方法的场景中,它对应 301。

#对 SEO 有什么影响

搜索引擎,尤其是 Google,会把重定向类型作为信号。根据 Google 关于 HTTP 状态码的文档,301 和 308 会把 PageRank 传递给目标 URL,而 302 和 307 不一定能可靠地做到这一点。

实际使用时,这意味着:

  • 永久迁移的页面应使用 301,以合并排名信号。
  • 临时活动或 A/B 测试应使用 302;需要保留请求方法的流程则用 307,避免无意中转移 SEO 权重。
  • 本该使用 301 却用了 302,即使只是疏忽,也可能削弱新 URL 的权威性。

#S.EE 如何处理重定向

使用 S.EE 缩短 URL 后,你会得到一条指向目标地址的短链接。S.EE 对标准短链接使用永久重定向,这是适合大多数场景的默认方式:链接权重会传递给目标页面,重定向也很快。

S.EE 还提供需要更灵活重定向方式的工具。A/B 测试可以将流量分配给两个目标地址,采用临时重定向逻辑,让你自由调整比例或更换目标,而不必永久选定某个 URL。智能跳转根据国家、设备或浏览器语言为用户重定向,底层同样使用灵活的重定向逻辑。

任何 S.EE 短链接的目标地址,之后都可以更新。情况变化时,这很实用,你不用让旧邮件或社交帖子里的链接变成死链。

#如何选择合适的重定向类型

可以用下面这套简单判断方法:

这是永久迁移吗?使用 301。如果要迁移页面、更改网址路径或合并 URL,301 会告诉搜索引擎更新索引,并传递 SEO 权重。

这是临时迁移吗?使用 302。它让原 URL 保持权威地位,也允许你恢复原状,而不带来 SEO 副作用。

需要重定向非 GET 请求吗?使用 307(临时)或 308(永久),保留 HTTP 方法。

不确定时,永久变更优先使用 301,之后可能撤销的变更则优先使用 302。代价最高的错误,是对永久变更使用临时重定向:结果是 SEO 信号混乱,之后还得额外投入开发工作来修正。

#总结

重定向类型看似是小事,出问题时才会发现影响不小。网站迁移时误用一个 302,就可能损失实际的搜索流量。理解 301、302 和 307 分别向浏览器和搜索引擎传达什么,能帮助你在网站管理中做出更合适的决定。

感谢阅读!如果你想简化链接分享和追踪,S.EE 在同一平台提供短网址、数据分析、二维码、文件分享、品牌域名等功能。准备开始了吗?立即注册,或查看价格。

#常见问题

##301 和 302 重定向有什么区别?

301 表示永久迁移,并将 SEO 链接权重传递给新 URL。302 表示临时迁移,保留原 URL 作为规范地址,且不能可靠地传递链接权重。永久变更用 301,预计会恢复或更换目标地址时用 302。

##302 重定向会损害 SEO 吗?

本身不会,302 是临时重定向的正确选择。问题在于,本该用 301 却用了 302。如果迁移是永久的,使用 302 意味着搜索引擎可能继续索引原 URL,而不会把排名信号完全合并到新 URL。

##什么时候应该用 307,而不是 302?

如果原请求使用非 GET 的 HTTP 方法,例如 POST 或 PUT,而且需要浏览器向新 URL 重复完全相同的请求,就使用 307。对于用户只是点击 URL 的普通链接重定向,从用户角度看,302 和 307 的行为相同。

##重定向链会影响 SEO 和性能吗?

会。重定向链是指 URL A 跳到 URL B,再跳到 URL C;每多一次跳转,都会增加延迟,并可能削弱链接权重。搜索引擎爬虫还有抓取预算,重定向链也会消耗它。应尽量让重定向直接到达最终目标,只跳转一次。

##301 重定向被缓存后,还能更改吗?

可以更新服务器配置,但无法强制浏览器或搜索引擎立即重新检查。由于 301 会被积极缓存,一些用户和爬虫在一段时间内仍会前往缓存中的旧目标地址。这也是使用 301 时要谨慎、只在变更确实永久有效时才使用它的原因之一。

继续阅读