NextJS回调URL无法跳转Dashboard页面,出现404错误求助
登录后跳转/Dashboard出现404的解决办法
路由大小写不匹配
Next.js Pages Router的文件路由严格区分大小写,你的Dashboard页面文件是/pages/dashboard.tsx(小写开头),但登录按钮中指定的callbackUrl是/Dashboard(大写开头),这会导致服务器无法找到对应页面。修改callbackUrl为全小写的/dashboard即可:return <button className="btn btn-secondary" onClick={() => signIn('google', { callbackUrl: '/dashboard' })}>Sign in</button>;检查NextAuth的回调路径配置
打开/pages/api/auth/[...nextauth].ts配置文件,确认callbacks中的redirect函数没有限制跳转至/dashboard,可以添加明确的允许规则:export default NextAuth({ // 其他配置项... callbacks: { redirect({ url, baseUrl }) { // 允许跳转到dashboard页面 if (url === `${baseUrl}/dashboard`) return url; // 其他合法跳转逻辑 return baseUrl; }, }, });确认页面文件的位置
确保dashboard.tsx确实位于/pages根目录下,而非嵌套子目录中。如果后续调整目录结构,需要同步修改callbackUrl的路径。
内容的提问来源于stack exchange,提问作者Fattyffat
相关产品推荐
相关产品推荐

