R5 技术验证 · 固定短链 + 历史 URL 永久不变

要求:文章地址要短、稳定(地址不变内容不变),且部分历史长链不能变成 404。

① 短码生成:文章 ID → 短、稳定、不可顺序枚举
短码用打乱字母表的可逆编码(Sqids 思路):同一 ID 永远得同一短码(地址稳定), 且不像 /article/12346、12347 那样可被顺序爬取。
② 历史长链 → 短链:301 永久重定向(部署到 CF 后真实生效)
历史长链(已被搜索引擎/公文收录,不能 404)新短链
/xwzx/tzgg/2024/0301/12345.html→ 301 →/a?id=12345
/content/2023/0815/show_67890.htm→ 301 →/a?id=67890
/news/article/100.jsp→ 301 →/a?id=100
点上面的"历史长链"——部署到 Cloudflare 后会真实 301 跳到对应短链(本地直接开不会跳,CF 上才生效)。 映射来自部署目录的 _redirects 文件(生产用 nginx rewrite 或 url_redirects 映射表)。
③ 方案要点
地址形态: /a/3kPq9(短码)或 /a?id=12345,全站统一,永久不变 稳定性: id ↔ 短码一一映射且可逆,"地址不变内容不变";URL 不带会变的查询参数 历史兼容: 维护一张 url_redirects(old_path, new_id, status=301) 表 + nginx map/rewrite 或 CF _redirects,老链接全部 301,绝不 404 SEO: 301(不是 302),权重平滑迁移;上线后向百度站长平台提交改版规则 盘点前置: 上线前必须先盘清现网所有公开 URL(见 R6),业务签字确认"必须保留清单"