先给结论:不要靠改服务器大小写敏感配置来“抹平”差异,而应在 IP 反查域名这一步就把路径统一成规范形式,再决定保留、改写还是退出旧路径。判断依据不是路径看起来像不像,而是同一 IP 下是否存在两个只差大小写的可访问资源,以及站内链接和站点地图实际引用了哪一个。
IP 反查域名得到的是同一 IP 上绑定的多个域名清单,它本身不解析路径。路径大小写问题通常出现在后续映射:把反查结果与目录、路由或重写规则对照时,/Product/A 和 /product/a 被当成两条记录。此时先做一件事:用同一 IP、同一域名分别请求两种写法,记录返回状态码和最终 URL。若两者都返回 200 且内容相同,说明服务器对大小写不敏感,问题在映射表重复;若只有一种返回 200,另一种 404,说明映射表必须跟着实际可访问的那种写法走。
这一步的结果直接决定下一步:前者要清理映射表,后者要修正链接来源,方向完全不同。
当满足以下条件时,保留原有大小写形式更省事:旧路径已有稳定外部链接,且服务器或 CDN 层对大小写不敏感,两种写法都能到达同一内容。此时不需要批量改写,只要在映射表中把同一资源的多个大小写变体合并为一条主记录,并让站内链接统一指向其中一种。
但要注意,抓取限制文件中的规则不等于可靠的索引移除手段,写一条 Disallow 并不能保证旧变体从索引中消失。保留策略的风险在于:只要有一个变体被外部引用,映射表就会持续出现“同资源多路径”的噪声。判断能否接受,看这些变体是否影响你后续按 IP 归组域名时的统计口径。
若服务器对大小写敏感,且旧写法已经返回 404,改写是唯一可行方向。动作分两步:先把映射表中的键统一为小写,再对旧的大写路径做 301 到新路径。做完后要验证两件事:一是旧路径返回 301 而不是 404,二是新路径在站点地图中只出现一次。
这里有个假设例子说明比较方法:假设某 IP 下有三个域名,反查后映射表出现 /Api/V1、/api/v1、/API/v1 三条记录。若服务器不敏感,合并后应剩一条;若敏感且只有 /api/v1 可用,另外两条应 301 过去。合并前后对比映射表条数,就能判断改写是否彻底,而不是只看某一个 URL 是否可访问。
退出指不再维护旧大小写变体,直接让它们失效。适用前提是:这些路径没有外部链接、不在站点地图中,且映射表里它们只是历史残留。此时继续保留 301 反而增加维护面。退出前用一次全量反查确认没有其他域名仍引用旧写法,确认后再从映射表删除。
需要提醒的是,站点地图不保证收录,所以“站点地图里没有”不能单独作为退出依据,还要看服务器日志中该路径是否仍有真实请求。若请求量归零,也可能是抓取延迟或日志采样造成的,不能直接断定可以安全删除。
这套顺序的关键在于:先确定服务器行为,再决定保留还是改写;先统一来源,再清理映射表。顺序颠倒会导致你刚删掉的变体又被其他域名引用回来。