重定向实验

301 / 302 / 308 的区别,以及 CF Pages 的 pretty URL 陷阱

三种状态码

码含义浏览器行为缓存
301永久移动永久改写地址栏强缓存
302临时移动地址栏变,但下次仍走原地址不缓存
308永久重定向(保留方法)同 301,但 POST 等方法也保留强缓存
选哪个

域名/路径永久换地方 → 301。
临时跳转(A/B 测试、维护页)→ 302。
307/308 保留 HTTP 方法,API 重定向用它们。

实测跳转链

点下面几个,看地址栏怎么变:

/lab/go-301 → 301 → /lab/redirects.html

/lab/go-302 → 302 → /lab/redirects.html

/lab/go-308 → 308 → /lab/redirects.html

/lab/go-301-302 → 301 → 302 → 展示跳转链

CF Pages pretty URL

访问 /lab/redirects.html —— 注意实际会先 308 到 /lab/redirects:

$ curl -I https://maymproject.pages.dev/lab/redirects.html
HTTP/2 308
location: /lab/redirects

这是 CF Pages 默认行为(把 .html 藏起来,URL 更干净)。 影响:做 _headers 路径规则时要写重定向之后的路径,否则不生效。