Next.js动态路由配置遇404错误,请求排查问题原因
以下是可能导致访问http://localhost:3000/content/boots/the-brendan出现404的原因:
文件路径错误:你开头提到文件路径是
app\pages\content\boots\[...slug].js,但给出的文件夹结构里pages是根目录下的一级目录。如果实际文件确实放在app/pages目录下,Next.js的Pages Router不会识别这个位置——Pages Router仅会读取根目录下的pages文件夹,请确认文件实际路径是pages/content/boots/[...slug].js。开发服务器未重启:Next.js开发服务器会缓存路由规则,如果你是修改文件夹结构后添加的
[...slug].js,未重启开发服务器的话,新路由规则不会被加载。请停止当前npm run dev进程,重新启动服务器。路由大小写不匹配:如果你的操作系统是Linux或macOS(区分文件路径大小写),请确认URL中的
content/boots和实际文件夹的大小写完全一致,比如不要出现文件夹是Boots但URL用boots的情况。存在冲突的路由文件:检查
pages/content/boots目录下是否存在其他可能匹配/content/boots/the-brendan的文件,比如the-brendan.js或[slug].js——Next.js会优先匹配更具体的路由文件,而非catch-all的[...slug].js。
注:你的组件代码本身没有问题,404属于路由匹配层面的问题,而非组件逻辑问题。
内容的提问来源于stack exchange,提问作者multibdoyle

