先给结论:大小写差异导致的提交失败,通常不是提交动作本身出错,而是同一份文件在服务器、站点地图和内部链接里被当成了不同路径。处理时优先统一映射,而不是逐个改提交记录;只有在旧路径确实没有保留价值、且外部引用可控时,才考虑让旧路径退出。
如果同一文件在 /Docs/Guide.html 和 /docs/guide.html 下都能打开,但返回内容不同、状态码不同,或者其中一个返回 404,那么问题在路径映射。反过来,如果两个地址都返回同一内容且状态码一致,只是提交后表现不稳定,那更可能是抓取或索引层面的问题,不应把责任全推给大小写。
一个可操作的判断动作:用 curl -I 分别请求两种大小写形式,记录状态码、Location 和 Content-Length。如果状态码不同,说明服务器把两者当成了不同资源,映射必须统一;如果状态码相同但内容长度不同,说明存在两个副本,需要决定保留哪一个。这个结果直接决定下一步是改服务器规则还是改提交清单。
保留策略的核心是选一个规范形式,让其余形式都指向它。常见做法有三种,适用条件不同。
三种策略没有绝对优劣。判断依据是:旧引用是否还在产生真实访问、服务器配置权限是否具备、以及团队能否接受长期维护两套路径。
不是所有旧路径都值得做映射。如果某个大写路径已经没有任何内部链接、外部引用和站点地图记录,且服务器日志显示长期无访问,那么让它退出比强行保留更干净。退出的动作是确认无引用后,让该路径返回 410 或 404,并从提交清单中移除。
需要保留的情况则相反:该路径出现在旧版站点地图、旧合作方页面或历史邮件中,且仍有访问记录。此时应做 301 映射到规范路径,而不是直接删除。一个假设例子:某文件同时存在 /Report/Q1.pdf 和 /report/q1.pdf,如果日志显示大写路径每月仍有访问,就保留并重定向;如果连续观察后访问归零,也不能单独据此证明可以删除,还要排查是否是统计口径变化、日志采样或爬虫行为改变所致。
映射统一后,提交清单只保留规范路径。具体动作:从站点地图中移除所有非规范形式,检查内部链接是否还有指向旧大小写的地址,确认服务器重定向规则生效后再重新提交。
这里有一个容易忽略的点:robots.txt 的抓取限制不等于可靠的索引移除。即使你屏蔽了某个大小写变体,它仍可能因为外部引用而出现在结果中。站点地图也不保证收录,提交规范路径只是给出信号,不是收录承诺。不同搜索引擎对大小写路径的处理支持情况须分别核查,不能假设一套规则对所有引擎都成立。
下一步的观察重点是:规范路径的抓取是否稳定、旧路径的重定向是否返回正确状态码、以及提交清单中是否还残留非规范形式。如果重定向返回 200 而不是 301,说明映射没有真正生效,需要回到服务器配置层修正,而不是继续调整提交清单。