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

Laravel项目部署到主机后除首页外跳转路由报404 Request Not Found问题求助

404问题排查修复方案

核心原因:Web服务器没有配置Laravel所需的伪静态规则,除首页外的请求没有被转发到index.php入口文件处理


情况1:使用Apache服务器(绝大多数虚拟主机默认用Apache)

  • 检查public_html目录下是否存在Laravel自带的.htaccess隐藏文件,漏传是最常见的诱因。
  • 若文件缺失,手动在public_html目录新建.htaccess,写入官方默认配置:
<IfModule mod_rewrite.c>
    <IfModule mod_negotiation.c>
        Options -MultiViews -Indexes
    </IfModule>

    RewriteEngine On

    # 处理Authorization头
    RewriteCond %{HTTP:Authorization} .
    RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]

    # 去除URL末尾斜杠
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteCond %{REQUEST_URI} (.+)/$
    RewriteRule ^ %1 [L,R=301]

    # 所有非静态资源请求转发到入口文件
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteRule ^ index.php [L]
</IfModule>
  • 确认主机已开启mod_rewrite扩展,且站点配置中AllowOverride参数设为All,允许读取目录下的.htaccess配置。

情况2:使用Nginx服务器

修改站点Nginx配置的location /块,添加伪静态规则:

location / {
    try_files $uri $uri/ /index.php?$query_string;
}

修改完成后执行nginx -s reload重启服务生效。

其他可选排查项

  • 清除路由缓存:进入项目根目录aqaraty,执行php artisan route:clear清除旧的路由缓存。
  • 确认.env中APP_URL参数与实际访问域名的协议、域名、端口完全一致。
  • 检查路由定义是否存在拼写错误,本地测试正常可直接跳过该步。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.29 13:36:02