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

Next.js嵌套动态路由nested dynamic routing二级路径访问404问题咨询

问题原因

你违反了Next.js Pages Router的核心命名规则:同一路由树的不同层级下不允许使用重名的动态路由参数。

你当前两层动态路由都命名为[id],Next.js路由匹配逻辑会出现参数冲突,无法正确识别第二层嵌套的动态路由,因此访问对应路径时直接返回404,不属于业务代码编写错误,是遗漏了官方路由命名规则导致的。

解决方法

把两个层级的动态路由参数改为不同的命名即可,例如外层用[categoryId]、内层用[itemId],调整后的目录结构如下:

pages/folder1/folder2/[categoryId]/index.js
pages/folder1/folder2/[categoryId]/folder3/[itemId]/index.js

调整后对应路由路径即可正常访问,在页面中通过useRouter获取参数时,分别取router.query.categoryId和router.query.itemId即可拿到对应路径的动态参数。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.07 02:51:02