确认死链接配置是否生效,不能只看规则文件或后台设置有没有保存,而要看实际请求和抓取结果是否按预期变化。判断起点是:先明确你配置的目标是“让死链接返回正确状态码”“把死链接跳转到新地址”还是“从站点地图和内部链接中清理死链接”,然后用真实URL分别验证。配置生效的可靠证据,是同一URL在修改前后行为不同,且这种变化能被工具或命令行复现。
死链接处理通常有三种交付结果,验收方式不同:
如果目标没写清,就无法判断配置是否生效。比如把404改成301,状态码变了,但用户和搜索引擎看到的结果完全不同。
配置生效最直接的证据是请求结果变化。可以用浏览器开发者工具、curl命令或在线状态码检查工具,对同一URL在修改前后各测一次。
假设某旧页面已删除,你配置了301跳转到新页面。执行:
curl -I https://example.com/old-page
判断结果:
301且Location指向新页面,说明跳转规则已生效。200但内容仍是旧页,说明规则未命中或被其他规则覆盖。404,说明跳转配置没生效,或请求路径与规则不匹配。302,说明用了临时跳转,不适合长期替代已删除页面。如果有多条跳转,还要检查是否形成跳转链。用curl -IL跟随跳转,确认最终地址正确且中间没有循环。
后台显示保存成功,只说明规则写入了系统,不代表请求会按规则处理。常见差异原因包括:
/Old-Page和/old-page可能被当作不同路径。检查时不要只看配置文件,要用实际URL请求验证。如果同一规则在测试环境生效、生产环境不生效,优先检查缓存和规则加载顺序。
状态码正确不等于死链接问题已解决。还需要确认搜索引擎是否仍把旧URL当作有效页面。
robots.txt是否误屏蔽了旧URL。抓取限制不等于可靠的索引移除,被屏蔽的URL仍可能出现在索引中。如果旧URL返回404但仍在索引中,说明配置生效了,但索引清理还需要时间或额外处理。此时不要改回200来“修复”,那会重新制造死链接问题。
第一次接触这个问题,建议按以下顺序执行:
curl -I逐个请求,记录状态码和跳转目标。curl -IL确认最终地址和跳转次数。验收标准可以写成:同一批URL在修改后,状态码与目标一致,跳转链不超过两跳,主要内部入口不再出现旧地址。满足这些条件,才能说配置实际生效。
下一步,选一个已处理的死链接URL,用curl -I测一次,再清理缓存测一次。两次结果一致,才算通过第一项验收。