Laravel 8项目部署线上后仅开发设备正常 其他设备除首页外报404
Laravel 8 部署非开发设备仅首页可访问其余页面404排查方案
1 Web 服务器重写规则校验
Nginx 环境
- 确认站点配置中已添加Laravel专用请求重写规则,核心配置段如下:
location / { try_files $uri $uri/ /index.php?$query_string; }
- 配置修改完成后执行
nginx -s reload重载服务生效
Apache 环境
- 确认站点根目录下存在Laravel官方默认的
.htaccess重写规则文件 - 确认Apache已开启
mod_rewrite模块,且站点目录配置中AllowOverride参数值为All - 配置修改完成后执行对应发行版的Apache重载命令生效,例如CentOS下执行
systemctl reload httpd
2 路由配置与缓存校验
- 执行以下命令清理旧路由缓存,重新生成路由映射:
php artisan route:clear php artisan route:cache
提示:若项目中存在闭包路由,不可使用路由缓存功能,仅执行route:clear命令即可
- 执行
php artisan route:list查看所有注册路由,确认非首页路由的请求方式、路径配置符合预期
3 基础配置项校验
- 检查
.env文件中APP_URL配置项是否与实际站点域名https://tonguelearner.com完全一致,无拼写错误、多后缀斜杠等问题 - 配置修改后执行
php artisan config:clear清理配置缓存,避免旧配置残留
4 缓存干扰排查
- 开发用Mac设备可能存在本地DNS缓存、浏览器缓存,导致请求规则与其他设备不一致,可在Mac端开启浏览器无痕模式访问非首页路由,测试是否也会触发404错误,排除本地缓存干扰
内容的提问来源于stack exchange,提问作者Nargesh Rana
相关产品推荐
相关产品推荐

