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

Laravel Jetstream部署至Cpanel后CSS/JS路径加载失败求助

解决Laravel Jetstream部署到Cpanel后资源加载失败问题

可行解决方案:

  • 修正资源路径配置
    打开项目根目录的.env文件,将APP_URL设置为你的实际访问地址,例如:

    APP_URL=https://你的域名.com/pro1/admin
    

    若问题仍存在,添加ASSET_URL参数明确资源根路径:

    ASSET_URL=https://你的域名.com/pro1/admin
    

    修改后执行命令清除配置缓存:

    php artisan config:cache
    
  • 重新编译并上传前端资源

    1. 在本地环境运行前端编译命令:
      npm install
      npm run build
      
    2. 将本地public/build目录下的所有文件,同步到服务器的public_html/pro1/admin/build目录中。
  • 调整服务器目录结构
    Laravel的public目录是Web访问入口,正确部署方式如下:

    • 将Laravel核心文件(app、config、vendor等)放在public_html/pro1目录下(而非public_html/pro1/admin)
    • 将public目录内的所有文件移动到public_html/pro1/admin
    • 修改public_html/pro1/admin/index.php中的路径,指向核心文件目录:
      require __DIR__.'/../vendor/autoload.php';
      $app = require_once __DIR__.'/../bootstrap/app.php';
      
  • 检查.htaccess规则
    确保public_html/pro1/admin下的.htaccess为Laravel默认配置,避免重写规则干扰资源路径:

    <IfModule mod_rewrite.c>
        <IfModule mod_negotiation.c>
            Options -MultiViews -Indexes
        </IfModule>
    
        RewriteEngine On
    
        # Handle Authorization Header
        RewriteCond %{HTTP:Authorization} .
        RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
    
        # Redirect Trailing Slashes If Not A Folder...
        RewriteCond %{REQUEST_FILENAME} !-d
        RewriteCond %{REQUEST_URI} (.+)/$
        RewriteRule ^ %1 [L,R=301]
    
        # Send Requests To Front Controller...
        RewriteCond %{REQUEST_FILENAME} !-d
        RewriteCond %{REQUEST_FILENAME} !-f
        RewriteRule ^ index.php [L]
    </IfModule>
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.09 01:40:28