404 not found 的字面意思是“服务器找不到请求的资源”,在浏览器里表现为访问某个网址时返回“未找到”。修复后要验证的不是“页面看起来能打开”,而是该网址返回的 HTTP 状态码是否已变成 200 或 301,并且返回内容与预期一致。
处理 404 常见两条路线:一是内容仍然存在,只是链接或路径写错,应恢复可访问内容;二是内容已永久迁移,应做 301 跳转到新地址。两条路线的验证重点不同。
如果原内容已删除且没有替代页,返回 404 或 410 本身是合理的,不需要强行改成 200。验证前先确认这次改动的真实意图。
验证要有对照。修复前先记录原始 URL、返回状态码、响应头和页面标题。可用浏览器开发者工具的 Network 面板,或命令行工具查看。命令行示例:
curl -I https://example.com/old-page
重点看第一行状态码和 Location 响应头。把修复前的记录保存下来,修复后逐项对比,才能判断变化是否来自本次修改,而不是缓存或临时波动。
最关键的一步是用不带缓存的请求直接检查状态码,而不是只看浏览器页面显示。浏览器可能展示缓存内容,让 404 看起来已经恢复。
Location 再请求一次,确认终点返回 200,且跳转层数不超过一层。判断结果:状态码正确、内容匹配、无跳转链,才算修复通过。若状态码仍是 404,说明规则未生效或路径写错;若返回 200 但内容是错误页,属于软 404,需要继续修。
修复完成不代表长期有效。后续改版、换域名或调整目录时,同一 URL 可能再次返回 404。建议定期抽查重要入口页和流量较高的旧链接,并保留跳转规则,不要在上线新版本时删除。
同时注意:robots.txt 的抓取限制不等于可靠的索引移除;站点地图不保证收录;HTTPS 不保证安全无漏洞或排名。这些与“修复后响应是否正确”是不同层面的问题,不要混在一起判断。
挑一个已修复的 URL,用 curl -I 或开发者工具重新请求,记录状态码、跳转目标和页面标题三项结果;若其中任一项与预期不符,回到对应修复规则继续调整,直到三项全部一致。