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

Laravel项目生产环境Ajax请求返回404问题求助

Laravel 部署后脚本及Ajax请求404问题排查方案

核心排查方向及解决办法

  • URL路径生成错误
    前端请求的URL如果用了硬编码的绝对路径,会导致本地开发环境(php artisan serve)和部署环境路径不匹配。必须用Laravel内置的辅助函数生成路径:

    // 脚本资源引用
    <script src="{{ asset('js/app.js') }}"></script>
    // Ajax请求路由
    $.get("{{ route('api.fetch-data') }}", function(res) { ... });
    

    避免直接写/js/app.js这类路径,尤其是部署在子目录或自定义域名下时,asset()和route()会自动适配APP_URL配置。

  • 服务器重写规则未配置
    Laravel依赖URL重写将所有请求导向public/index.php,这是部署后404的高频原因:

    • 确认项目根目录(或public目录)存在.htaccess文件,根目录的.htaccess内容应为:
      <IfModule mod_rewrite.c>
          RewriteEngine On
          RewriteRule ^(.*)$ public/$1 [L]
      </IfModule>
      
      若直接将public设为服务器根目录,public下的.htaccess需包含:
      <IfModule mod_rewrite.c>
          <IfModule mod_negotiation.c>
              Options -MultiViews -Indexes
          </IfModule>
      
          RewriteEngine On
          RewriteCond %{HTTP:Authorization} .
          RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
      
          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>
      
    • Apache需启用mod_rewrite模块;Nginx则要在配置文件中添加:
      location / {
          try_files $uri $uri/ /index.php?$query_string;
      }
      
  • 环境配置与缓存残留
    确认部署环境的.env文件中APP_URL和实际访问域名/地址一致,再执行以下命令清除缓存:

    php artisan route:clear
    php artisan config:clear
    php artisan cache:clear
    
  • 文件权限问题
    确保storage和bootstrap/cache目录有服务器进程的写入权限,Linux服务器可执行:

    chmod -R 755 storage bootstrap/cache
    chown -R www-data:www-data storage bootstrap/cache
    

额外检查项

  • 查看浏览器控制台的404请求URL,对比路由定义,注意Linux服务器区分大小写,Windows不区分,避免路由和请求路径大小写不匹配。
  • GoDaddy主机需确认是否开启PHP FastCGI模式,部分场景下该模式会干扰重写规则,可尝试切换为CGI模式。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.03 10:00:56