先判断失效发生在哪一层:域名注册服务把请求交给站点后,入口页正常只说明该域名的解析和证书大体可用,深层路径失效通常出在路径级重定向、路由规则、权限校验或源站资源缺失。定位方法是逐层剥离,而不是从首页开始猜。
假设某团队通过域名注册服务注册了主域,并为不同业务配置了多个子域。入口页 https://example.com/ 返回 200,但 https://example.com/docs/a 及同目录下若干深层路径返回 404 或 502。单看一个样本,容易归因于某篇文章被删除;但同目录多个路径同时异常,说明更可能是路径级规则或源站目录映射的问题,而不是内容本身。
这个假设的关键边界是:入口页正常不能证明整条链路正常。首页可能是静态文件或独立路由,深层路径可能经过重写、鉴权、代理或动态渲染。两者共用域名解析,却不共用同一段处理逻辑。
定位时按以下顺序剥离,每步只回答一个是非问题:
一个实际动作:对同目录下多条深层路径分别发起请求,记录状态码、最终 URL 和响应长度。如果多条路径的最终 URL 收敛到同一个地址,问题在重定向或路由规则;如果状态码分散但都指向源站错误,问题在源站目录或应用配置。这一步的结果决定下一步是查规则文件还是查源站日志。
入口页正常、深层路径失效,常出现在以下配置中:
/docs/a 与 /docs/a/ 走向不同分支。验证方式:临时对单条深层路径关闭重写或鉴权,观察是否恢复。若恢复,断点就在被关闭的环节;若不恢复,继续查源站。注意这只适合在可控环境下做,且要记录改动前后差异,避免把配置改动误当成修复。
深层路径失效时,有人会先去看站点地图或 robots.txt。需要分清:robots.txt 的抓取限制不等于可靠的索引移除,站点地图不保证收录。这两者描述的是抓取和索引意愿,不解释为什么某条路径返回 404 或 502。
如果深层路径返回 200 但内容为空,还要排除渲染层问题:服务端返回的 HTML 里是否包含可见文本,还是依赖客户端脚本填充。对同一路径分别查看原始响应和渲染后内容,若原始响应为空而渲染后有内容,断点在渲染链路而非注册或解析。
个别样本成立但规模化后出现例外,说明规则存在条件分支。处理顺序是:
短例子:假设 10 条深层路径中 3 条异常,共同点是路径含编码后的中文参数。把参数改为纯 ASCII 后恢复,则断点在参数解码或路由匹配环节,而不是域名注册服务本身。这个结论只适用于该组样本,不能直接推广到所有路径,需要再用另一组含编码参数的路径验证。
完成定位后,把断点、触发条件和验证方式写进变更记录。下一步是评估修复是否影响入口页和其他正常路径,而不是立即全量发布。若异常路径同时涉及多个子域,还要分别核查各子域的解析与证书配置,因为一个子域正常不代表其他子域同样正常。