Laravel执行php artisan serve时报页面不存在及ERR_INVALID_REDIRECT错误怎么办
Laravel 本地启动 ERR_INVALID_REDIRECT 与页面找不到问题修复
ERR_INVALID_REDIRECT 报错排查与修复
这类报错是应用层返回了非法格式的重定向响应,和XAMPP的Apache配置无关(已验证localhost访问正常),按优先级排查:
- 修正
.env配置导致的错误重定向:这类问题占比最高,多为旧项目遗留的生产环境配置导致本地启动时跳转非法地址:- 将
.env文件中的APP_URL临时调整为http://127.0.0.1:8000,不要保留线上生产域名配置 - 关闭本地开发阶段的强制HTTPS逻辑:检查
app/Providers/AppServiceProvider.php中的boot方法,如果存在URL::forceScheme('https')这类全局强制HTTPS代码,先注释掉,避免请求被强制重定向到本地不存在的HTTPS端口 - 检查登录类扩展的默认跳转配置:如果项目安装了Jetstream、Fortify这类带全局登录校验的扩展,检查对应配置文件中的默认首页路径,确认跳转路径为合法的站内相对路径,不要配置跨域的绝对地址
- 将
- 清理旧的配置缓存:修改完所有配置后,依次执行以下命令清除残留的旧配置缓存,避免修改不生效:
php artisan config:clearphp artisan route:clearphp artisan cache:clear
- 检查中间件的重定向逻辑:打开
app/Http/Middleware/Authenticate.php,确认未登录时的跳转路径是合法的相对路径,不要写入无法访问的外部地址或无效路由。
页面找不到类问题排查与修复
遇到的路由404类问题,大多和项目初始化步骤缺失、端口占用有关:
- 确认本地服务端口状态:执行
php artisan serve时,留意终端输出的启动地址提示,如果提示8000端口被占用,换可用端口启动,比如执行php artisan serve --port=8001,避免之前残留的旧服务进程返回无效响应 - 补全项目初始化必备步骤:
- 执行
php artisan key:generate生成项目缺失的APP_KEY,密钥缺失会导致所有session校验失效,触发异常跳转或404 - 执行
npm run dev编译前端静态资源,避免资源路径不匹配导致的子页面访问异常
- 执行
- 检查目录读写权限:确认项目根目录下的
storage、bootstrap/cache目录拥有读写权限,权限不足会导致Laravel无法正常生成路由缓存,直接返回404响应 - 校验核心路由文件:打开
routes/web.php,确认根路径/存在对应的控制器返回逻辑,排除因路由文件误改导致的全路径404。
所有配置调整完成后,关闭之前残留的artisan serve进程,重新启动服务后再访问对应地址验证。
内容的提问来源于stack exchange,提问作者Rajzer
相关产品推荐
相关产品推荐

