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

NextJS动态路由在本地主机失效,访问/user/[username]返回404错误

问题原因及解决方法

你遇到的404问题,核心是混淆了Next.js的Pages Router和App Router路由规则:你参考的是Pages Router的动态路由文档,但文件放在了src/app目录下(这是App Router的目录结构),两者的路由规则完全不同。

两种解决路径:

路径1:改用Pages Router规则

把你的[username].js文件移动到src/pages/user/目录下(如果pages目录不存在就新建),原代码可以直接使用——因为useRouter是Pages Router的钩子,调整后访问localhost:3000/user/john就能正常匹配。

路径2:遵循App Router规则(Next.js 13+)

App Router的动态路由依赖文件夹结构,需要按以下步骤调整:

  1. 在src/app/user/下创建[username]文件夹
  2. 在该文件夹内新建page.js文件,替换原来的[username].js
  3. 代码改用useParams钩子(App Router的专属API),示例代码:
import { useParams } from 'next/navigation';

export default function User() {
  const params = useParams();
  return <p>{params.username}</p>;
}

调整后访问localhost:3000/user/john即可正常显示内容。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.27 21:32:06