我有一个使用nextjs v12的项目
我有2条路线是重叠在一个奇怪的方式。
1.第一个月
/questions/:id
当我加载/questions/1
时,它按预期工作
当我加载/mit/math
时,它按预期工作
问题:
当我从/questions/1
重定向到/questions/2
时,
它加载,你猜对了,另一条路!(/:academy/:course
)
更多的是,当我刷新页面(重定向后)它会加载/questions/:id
!!!
我试过
- 检查拼写错误
- 生成
/questions/:id
-〉/aquestions/:id
那么,你知道解决这个问题方法吗?
谢谢。
已解决
它是/q/:id
,我将其重命名为/q/:id
。
而且因为它是使用ssr的(我认为),我不得不清除缓存并重新启动项目。
1条答案
按热度按时间j2qf4p5b1#
这不应该发生,因为根据官方的nextJS文档,
预定义路由优先于动态路由,动态路由优先于捕获所有路由。
https://nextjs.org/docs/routing/dynamic-routes
在本例中,看起来我们尝试使用2个部分动态路径,这就是nextJS无法找出正确路径的原因,您可以添加重写规则以始终将
/questions/*
路径发送到/questions/:id
https://nextjs.org/docs/api-reference/next.config.js/rewrites
你能分享一下你是如何重定向的代码吗,以帮助你更好?