You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

文章slug修改后旧URL返回404,如何实现旧URL动态重定向到新地址

旧URL自动重定向到新URL实现方案

1. 新增历史slug映射表

新增post_slug_history数据表存储所有文章的历史slug记录,推荐字段如下:

  • id:自增主键
  • post_id:关联对应文章的主键ID,新增普通索引提升查询效率
  • slug:历史slug值,新增唯一索引避免重复存储
  • created_at:该slug的生成时间

2. 业务逻辑改造

  • 每次用户编辑文章生成新slug前,先将当前生效的旧slug写入post_slug_history表,若该slug已存在映射关系则跳过重复写入
  • 原有的slug重复时追加随机后缀的冲突处理逻辑无需调整
  • 请求路由处的判断逻辑按如下顺序调整:
    1. 先识别请求参数类型:如果是id参数,直接查询文章表获取该文章当前最新的slug值,建议使用301永久重定向到localhost/ad?slug=最新slug地址,同时兼容最早的ID形式旧访问链接
    2. 如果是slug参数,优先查询文章主表的post_slug字段,命中则直接返回文章内容
    3. 主表未命中时,到post_slug_history表查询该slug关联的post_id,查询成功则获取对应文章当前的最新slug,执行301重定向到新URL
    4. 两张表均未命中时,再返回404状态码

3. 可选优化项

  • 可定期清理存储超过1年的历史slug记录,避免表数据冗余,通常旧链接的有效访问占比会随时间大幅下降
  • 可在重定向逻辑中增加访问统计埋点,根据实际旧链接访问量调整历史记录的清理周期

内容的提问来源于stack exchange,提问作者DB_cont

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.26 00:45:03