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

Next.js 14路由路径解析失败:并行页面路径冲突求助

解决Next.js 14路由冲突错误:"You cannot have two parallel pages that resolve to the same path."

错误根源

这个错误是因为两个page.tsx文件最终被解析到了完全相同的URL路径,Next.js无法确定该渲染哪个页面。注意:路由组(用()包裹的目录)不会添加到最终URL中,只会用于组织路由结构。

修复步骤

1. 确认页面的实际映射路径

先验证两个页面对应的URL是否符合预期:

  • /(landing)/page.tsx 应该对应URL:http://localhost:3000/
  • /(main)/(routes)/(documents)/page.tsx 应该对应URL:http://localhost:3000/documents

分别访问这两个地址,看是否能正常渲染对应的页面,排查是否存在路径重叠。

2. 排查路径重叠原因

情况1:路由结构设计错误

如果两个页面确实映射到同一个URL,说明路由结构有误:

  • 检查是否误将某个page.tsx放在了错误的路由组目录下。比如若想让/(main)/(routes)/(documents)/page.tsx对应/main/routes/documents,需去掉目录名的括号,改为main/routes/documents/page.tsx(路由组的括号会忽略该目录的URL部分)。
  • 检查是否存在其他重复的page.tsx文件,比如/(main)/page.tsx也会映射到/,和/(landing)/page.tsx冲突。

情况2:配置文件导致路径重叠

检查next.config.js中的rewrites或redirects配置,是否有规则将两个不同路径指向同一个页面。例如:

const nextConfig = {
  async rewrites() {
    return [
      { source: '/', destination: '/documents' },
    ];
  },
};

这种配置会导致路径解析冲突,需修改或移除该规则。

情况3:动态路由参数异常

如果其中一个页面是动态路由(如[slug]/page.tsx),检查generateStaticParams是否生成了和另一个页面路径相同的参数(比如生成slug: ""导致映射到/)。

3. 常规缓存清理

如果以上排查都没问题,清理Next.js缓存并重启开发服务器:

# 删除.next缓存目录
rm -rf .next
# 重启开发服务
npm run dev

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.29 17:42:13