Next.js v12路由重定向匹配异常问题排查与解决
Next.js v12 客户端路由跳转动态路由误匹配问题解决
问题场景
在Next.js v12项目中配置了两个动态路由:
/:academy/:course/questions/:id
直接访问/questions/1或/mit/math时路由匹配均正常,但通过客户端路由从/questions/1重定向到/questions/2时,请求会错误匹配到/:academy/:course路由;刷新页面后,又能正确匹配/questions/:id路由。
排查过程
- 检查路由文件名及路径拼写,确认无错误;
- 尝试修改
/questions/:id路由路径为/aquestions/:id,问题依旧存在; - 回顾路由变更历史,发现该路由最初为
/q/:id(原描述重命名记录疑似笔误,实际是从/q/:id调整为/questions/:id)。
解决方法
清除项目缓存并重启项目后,路由匹配恢复正常。推测该问题与Next.js的SSR缓存机制有关——路由变更后旧的缓存规则未及时更新,导致客户端跳转时仍沿用旧的路由匹配逻辑。
内容的提问来源于stack exchange,提问作者Post Malone
相关产品推荐
相关产品推荐

