UrlEdge
回到博客
2026年3月15日 UrlEdge 编辑部8 分钟阅读

301、302、307、308 跳转状态码怎么选?迁站和活动导流别用错

永久迁移通常用 301,临时活动通常用 302;若必须保留原本的 HTTP 方法和请求体,则改看 307 与 308。重点不是背代码,而是选对实际意图。

象征选择正确跳转状态码的道路指示牌

如果你正在比较 301、302、307、308 跳转状态码,先记住这四句最实用的判断:

  • 301:永久变更,而且通常是一般网页请求
  • 308:永久变更,而且必须保留原本的 HTTP 方法与请求体
  • 302:暂时变更,而且通常是一般网页请求
  • 307:暂时变更,而且必须保留原本的 HTTP 方法与请求体

对大多数做网站迁移、域名切换和内容改版的团队来说,301 仍然是最常见的默认答案。但只要你处理的不是单纯页面浏览,而是表单送出、付款流程、API、Webhook,307 和 308 就不再是少数人才会碰到的代码。

如果你正在做整站改版、换 CMS 或换域名,建议把这篇文章跟 网站迁移跳转检查清单 一起看。真正影响 SEO 和活动成效的,往往不是状态码本身,而是整体搬家流程是否干净。

最短的实务版答案

你其实只是在回答两个问题:

  1. 这次变更是永久还是暂时
  2. 原本的 HTTP 方法要不要原封不动保留

整理成表格就是这样:

目的需要保留方法与请求体吗?建议选择
永久搬家的一般页面通常不用301
永久搬移 API 或表单端点需要308
暂时活动页、维护页、短期测试通常不用302
暂时搬移 API 或表单端点需要307

[!TIP] 如果你转的是一般网站页面,不要把问题搞得太学术。大多数团队只要记得「永久用 301、暂时用 302」就能避免 80% 的错误。

301 是什么?

301 Moved Permanently 代表「这个资源已经长期搬到新位置」。

常见使用情境:

  • /old-page 永久换成 /new-page
  • old-brand.com 换成 new-brand.com
  • 把重复网址合并到唯一规范 URL
  • 全站从 HTTP 切到 HTTPS
  • 旧商品页、分类页或博客路径改版后长期保留新网址

为什么 301 这么常见?

  • 浏览器对它的支持最完整
  • SEO 团队最熟悉它
  • 它符合多数网站迁移、内容整并、网址规范化的意图
  • 对博客、文档、产品页、活动页搬移来说最直观

如果你做的是典型网站迁移,301 几乎就是默认值。Google 也在 网站迁移与网址变更文件 中明确提到,搬家时要让旧网址清楚指向新网址。

如果搬家同时还要保留旧路径与 UTM 参数,建议接着看 换域名时如何保留路径与 UTM 参数

302 是什么?

302 Found 代表「暂时搬去别的地方,但原网址之后还会回来,或至少它仍是主要位置」。

常见使用情境:

  • 短期促销页导流
  • 活动报名页暂时替换首页
  • 系统维护期间先把部分流量导去公告页
  • 可随时回滚的 A/B 测试
  • 短期广告活动导到专用落地页

302 最常见的问题,不是技术,而是管理。

很多团队会因为「先上线再说」而把永久搬家先设成 302,结果半年后还没改回来。这种情况很常发生在品牌改名、旧站转新站、产品页重构等项目。如果你知道它其实不会回来,就不要用暂时代码假装它是暂时的。

307 是什么?

307 Temporary Redirect 是保留 HTTP 方法的暂时跳转。

它的重点不是「比较新」,而是它对请求语义更严格。也就是说,如果原始请求是 POST,那被导走之后依然会是 POST

这很重要的情境包括:

  • 表单送出暂时切到备援端点
  • API 暂时换到另一个版本或区域节点
  • 结帐流程维护时把请求导到暂时路由
  • 某些 App 或服务端点暂时分流

对单纯页面浏览来说,307 不一定比 302 更「好」。但只要请求不是单纯 GET,你就要更小心。

308 是什么?

308 Permanent Redirect 是保留 HTTP 方法的永久跳转。

常见使用情境:

  • API 版本正式搬移
  • 长期更换 Webhook 接收端点
  • 永久调整表单或应用程序提交路径
  • 服务端端点整并,但不能把 POST 变成 GET

如果你是做内容站、品牌官网、博客、说明文档,308 不一定会比 301 带来额外好处。但如果你处理的是 API、后台整合、支付流程或表单提交,308 的信号会比 301 更精准。

怎么更快做选择

选 301,当你符合这些条件

  • 这次变更是永久的
  • 用户主要是浏览一般页面
  • 你在做网站迁移、域名更换、SEO 跳转或内容整并

选 302,当你符合这些条件

  • 这次变更是暂时的
  • 你之后还可能撤回或改掉规则
  • 用户主要是浏览一般页面

选 307,当你符合这些条件

  • 这次变更是暂时的
  • 原本的表单或 API 方法必须保留

选 308,当你符合这些条件

  • 这次变更是永久的
  • 原本的表单或 API 方法必须保留

几个常见实例

例 1:整站换域名

https://oldbrand.com/pricing -> https://newbrand.com/pricing

这种情况用 301

例 2:首页暂时导去候补名单页

https://yourbrand.com -> https://yourbrand.com/waitlist

如果活动结束后首页会恢复,请用 302

例 3:API 版本永久搬移

POST /api/v1/orders -> POST /api/v2/orders

如果方法必须保留,而且不是短期调整,请用 308

例 4:结帐流程暂时切到维护页面

POST /checkout -> POST /checkout-maintenance

这种短期调整,且不能改变 request 行为时,用 307 较安全。

大家最在意的 SEO 问题

302 会不会传递 SEO 信号?

真正应该问的不是「302 会不会传」,而是:你的跳转代码,有没有诚实反映实际意图?

Google 多年来都表示,搜索引擎能理解不同类型的跳转,但你仍然应该用最符合现实的代码。在实务上:

  • 如果变更是永久的,用 301308
  • 如果变更是暂时的,用 302307

不要幻想用错误代码「骗」搜索引擎。长期来看,这通常只会让搬家策略与后续维护变得更混乱。

很多人忽略的性能问题

比起代码本身,整体跳转架构更常拖慢网站。

一个再正确的 301,只要它造成下面这些情况,体验还是会很差:

  • 三层以上的跳转链
  • HTTP -> HTTPS -> www -> 最终网址
  • 行动版与桌面版导流规则不一致
  • 站内还有大量内部链接指向旧网址

所以你不只要选对代码,还要检查整条导流路径。想快速验证时,可以直接用 跳转检查工具 看完整 hop。

如果你的基础设施历史包袱很多,也建议同步排查 跳转链与跳转循环

在 UrlEdge 里该怎么用

如果你是在 UrlEdge 里管理这些规则:

  • 网站迁移
  • 品牌域名整并
  • 文档或博客路径调整
  • 营销活动页切换

那通常可以这样理解:

如果你处理的是 API 或表单,而不是一般页面,那在规则上线前就应该把「是否要保留方法」写进需求说明。这类问题真正出事时,通常不是 SEO 掉了,而是应用程序流程直接坏掉。

最常见的错误

用 302 做永久搬家

这是最常见的错误,尤其发生在忙着上线的团队。规则先能跑就好,后面没人回头整理,最后暂时变永久。

用 301 做短期活动页

如果你本来就知道这是短期活动、快闪页、短期 A/B 测试,就不要硬用永久代码。否则你日后回滚的成本会提高。

忽略 request 方法

只要不是单纯页面浏览,307 和 308 就不能被当成冷门代码。

改对状态码,却没处理跳转链

一条干净的跳转,永远比三条技术上都「没错」的跳转更好。

FAQ

308 对 SEO 会比 301 更好吗?

不一定。对一般页面搬家来说,301 仍然是最常见也最实务的选择。只有当方法保留是明确需求时,308 的优势才会变得重要。

307 可以当成新版 302 吗?

不能完全这样理解。307 的重点是更严格地保留原本的 HTTP 方法与 body。

A/B 测试可以用 302 吗?

可以。暂时测试、短期导流、本来就可能改目的地的情境,302 很常见。

博客或文档搬家通常该用哪一种?

大多数情况下用 301。再搭配完整跳转对照表、站内链接更新与 hop 验证,效果通常比只讨论代码更重要。

相关 UrlEdge 指南

权威参考数据

上线前想先验证跳转?

在错误的规则进到正式环境前,先检查状态码、跳转层级与不同设备的导流结果。

开启跳转检查工具

相关文章

查看全部