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

Laravel Nova 4部署在域名子目录下无法正常运行求助

解决Laravel Nova子目录部署的资源与路由问题

针对同一域名子目录下部署多个Laravel Nova应用时出现的资源加载错误、URL跳转异常问题,可通过以下步骤解决:

1. 配置资源加载的正确前缀

Nova默认使用根路径加载资源,导致子目录下资源路径缺失前缀:

  • 先发布Nova静态资源到应用public目录:
    php artisan nova:publish
    
  • 在config/app.php中添加asset_url配置项:
    'asset_url' => env('APP_ASSET_URL', null),
    
  • 在对应应用的.env文件中设置资源前缀(替换为你的子目录路径):
    APP_ASSET_URL=https://my-domain.com/apps/app-1
    
  • 覆盖Nova布局视图:复制vendor/laravel/nova/resources/views/layout.blade.php到resources/views/vendor/nova/layout.blade.php,将所有资源引用替换为asset()助手(替换原有的mix()或直接路径),例如:
    <!-- 原代码 -->
    <link rel="stylesheet" href="{{ mix('app.css', 'vendor/nova') }}">
    <!-- 修改后 -->
    <link rel="stylesheet" href="{{ asset('vendor/nova/app.css') }}">
    

2. 修正Nova路由的前缀

Nova默认路由无前缀,导致表单提交、页面跳转指向根路径:

  • 打开app/Providers/NovaServiceProvider.php,修改routes方法为Nova路由添加子目录前缀:
    protected function routes()
    {
        $prefix = env('NOVA_PATH_PREFIX', 'nova');
    
        Route::prefix($prefix)
            ->middleware(['web', 'nova'])
            ->group(function () {
                Nova::routes()
                    ->withAuthenticationRoutes()
                    ->withPasswordResetRoutes()
                    ->register();
            });
    }
    
  • 在应用.env中设置Nova路由的完整子目录前缀:
    NOVA_PATH_PREFIX=apps/app-1/nova
    
  • 修改config/nova.php中的path配置,确保Nova内部生成URL时使用正确前缀:
    'path' => env('NOVA_PATH', 'nova'),
    
    对应.env设置:
    NOVA_PATH=apps/app-1/nova
    

3. 清除缓存确保配置生效

修改配置和路由后,执行以下命令清除缓存:

php artisan config:cache
php artisan route:clear

4. 验证服务器配置

确保Web服务器正确解析子目录的符号链接,示例Nginx配置片段:

location /apps/app-1/ {
    try_files $uri $uri/ /apps/app-1/index.php?$query_string;
}

需确保服务器允许符号链接(Nginx开启symlinks支持,Apache开启FollowSymLinks)。

每个子目录下的Laravel应用需独立配置上述.env参数,对应各自的子目录路径,即可实现Nova在子目录下正常运行。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.16 07:22:54