大猫OPC

slug + hash:为什么 URL 不能只用城市名

阅读 5 更新于 2026-10-27

先说结论

城市站的地址长这样:

kunming-336ec45550.jamsw.com

kunming 是城市,336ec45550 是 hash。只用城市名会出三个问题。

问题一:重名

全国有多个"城关镇"、"朝阳区"(北京/长春),英文 slug 撞车是常态。

问题二:改名

城市改名或拼音调整(比如"淮阴"→"淮安"),纯 slug 的 URL 就失效了。带 hash 的地址里,hash 才是唯一标识,slug 可以随名字更新。

问题三:猜测与遍历

纯城市名的子域可以被批量猜测、遍历抓取。hash 让地址不可枚举,降低无效抓取。

代价

  • URL 不好看、不好记(对本地客户来说影响很小,他们从门户点进来)
  • hash 一旦生成不能改(改了就是新站)
  • 独立域名绑定时,URL 与 hash 脱钩

URL 的三种形态

场景 形态
泛子域 {slug}-{hash}.根域名
路径兜底 /s/{slug}-{hash}/
客户自己的域名 www.客户域名.com

变更策略

  • slug 变:保留 hash,旧地址 301 到新地址
  • 站点合并:旧站 301 到保留站
  • 站点下线:410 或 301 到上级地区页,不要直接 404
本页内容对你有帮助吗? 感谢反馈(演示按钮,暂未接入后端)