42000 个山峰小屋的稳定 URL 方案
Stable URLs for 42,000 Huts and Peaks
我的项目 biwak.info 收录了 42866 个阿尔卑斯山的小屋和山峰。为了解决名称重复和链接失效的问题,我设计了一套动态生成 URL 的策略:优先使用纯名称,冲突时依次追加地区、海拔高度,最后才使用 OpenStreetMap ID。关键在于维护一个 slug-registry.json 注册表,确保一旦分配给某个地点的 URL 永远不会改变,即使底层数据更新或名称变更,旧链接依然有效并自动重定向。这种机制在保持 URL 可读性的同时,彻底解决了数据变动带来的链接断裂难题。
链接一旦分享,就必须永远指向同一个地点,即使底层数据发生了改变。