改动 404notfound 相关页面或配置前,保存原始状态的核心做法是:先把当前线上可见的内容、返回状态码和服务器或 CDN 规则各留一份可回溯的副本,再动任何文件。只截图页面不够,因为 404 问题的关键往往在 HTTP 状态码和重写规则里,而不是页面长什么样。适用前提是你能拿到改动权限,并且改动会影响线上访问;验收信号是回滚时能凭留档在几分钟内恢复原状,而不是靠记忆拼回来。
404notfound 涉及的状态通常分三层,改动前要分别留档,缺一层就可能返工。
多人协作时最常见的返工,是只备份了内容层,改完发现状态码变了,或者规则层被别人的提交覆盖。所以三层都要留,并且标注保存时间和保存人。
下面这套步骤可以直接照做,假设你面对的是一个线上 URL,记为 /old-page。
curl -I https://example.com/old-page,把完整响应头复制到文本文件,重点保留状态行和 Location 头(如果有跳转)。curl -o old-page-before.html https://example.com/old-page 存下 HTML,或对渲染后的页面做完整存档。如果改动范围大,把留档放进版本控制,提交信息写明改动意图。这样回滚就是一次版本还原,而不是手工比对。
假设要把 /old-page 从返回 404 改成 301 跳转到新页面。改动前留档应包含:原始状态码 404 的响应头、原 404 页面的 HTML、当前规则里没有针对该路径的跳转条目。改动后核对:状态码变为 301、Location 指向新 URL、页面不再显示 404 内容。如果改动后状态码仍是 200,说明命中了软 404,需要回到规则层检查,而不是继续改文案。此例为假设场景,用于说明留档字段,不代表任何真实站点结果。
留档是否合格,可以用三个信号判断。
需要区分的是:留档解决的是“改坏了能回去”,不解决“改动是否被搜索引擎正确处理”。robots.txt 的抓取限制不等于可靠的索引移除,站点地图也不保证收录。如果你改动 404 的目的是处理已收录 URL,留档之外还要单独核查各搜索引擎对 404 与 410 的处理差异,不能把抓取限制当成移除手段。
留档目录建议按“日期-路径-改动人”命名,例如 20250101-old-page-zhang。交接时明确三件事:改动前的状态码、改动涉及哪一层规则、回滚命令或还原步骤。如果改动由多人分头进行,先约定同一时间只有一人修改规则层,避免互相覆盖。留档文件本身不要放在会被自动构建清空的目录里。
下一步:在你准备修改的那个 URL 上先跑一次 curl -I,把响应头存下来,再开始动配置。