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

Next.js执行npm run dev时自动重定向至/login问题求助

Next.js项目所有路径自动重定向到/login的排查方案

问题描述

从实习项目git clone代码后,执行npm run dev启动Next.js 15.0.2项目,无论访问哪个路径(包括新建文件),都会自动重定向到/login,且/login路径返回404。运行日志如下:

> my-app@0.1.0 dev
next dev
▲ Next.js 15.0.2
- Local:        http://localhost:3000
✓ Starting...
✓ Ready in 1555ms
○ Compiling /_not-found ...
✓ Compiled /_not-found in 2.7s (569 modules)
GET /login 404 in 3016ms
✓ Compiled in 101ms (279 modules)
GET /login 404 in 37ms
○ Compiling /favicon.ico ...
✓ Compiled /favicon.ico in 511ms (313 modules)
GET /favicon.ico 200 in 627ms

网络请求截图:
Network请求概览
Network请求详情

排查步骤

  • 检查全局路由中间件:查看项目根目录下的middleware.ts(或.js),搜索是否存在强制重定向到/login的逻辑(比如判断用户未登录就执行跳转)。
  • 检查全局布局/入口文件:查看app/layout.tsx(或pages/_app.tsx),确认是否有useEffect、路由监听等客户端代码触发自动跳转。
  • 清理依赖与缓存:
    • 删除node_modules文件夹和package-lock.json(或yarn.lock),执行npm install重新安装依赖;
    • 打开浏览器开发者工具(F12),进入Application标签,找到Service Workers点击Unregister清除旧缓存,再刷新页面。
  • 核对环境变量:检查项目根目录的.env(或.env.local)文件,确认是否存在控制路由跳转的配置项(比如AUTH_REDIRECT_PATH=/login)。
  • 检查git克隆缺失文件:查看项目.gitignore文件,确认是否有权限相关配置文件被忽略未克隆,导致默认触发跳转逻辑。
  • 定位重定向发起方:从网络截图判断重定向类型:
    • 若为302/301状态码,说明是服务器端(middleware或API路由)发起的重定向;
    • 若为客户端跳转(无状态码变化),则是前端代码(如React路由、JS逻辑)触发的跳转。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.16 11:20:59