整站换到新域名,老域名的规则只写了首页跳转,内页访问全部 404,外链带来的流量两周内归零。
这类报错背后常见的原因有几处,逐个排除就行。跳转规则用了通配到首页的写法。少数情况下是没有按路径保留原结构做映射。
另外,CDN 上还挂着老域名的旧缓存。
动手时先确认老域名内页的实际返回
curl -sI https://old.com/a/ | head -3
接着按路径原样跳转到新域名
rewrite ^/(.*)$ https://new.com/$1 permanent;
剩下的就是清掉 CDN 上老域名的缓存
curl -X PURGE https://old.com/a/
同样的操作我在测试机上先走了一遍,线上只做验证过的部分。
这台环境是别人交接的,不少默认值被动过,只能一项项核。
别只看报错消失,验证要多做一步。老域名内页一跳到位到对应新地址,外链流量在两周内恢复。
全部跳首页会被判定为软 404,跳转必须保留路径对应关系,这是迁移里最容易省错的一步。同一份配置在测试环境跑通,不代表线上没事,两边的默认值经常不一样。