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

Laravel 11 Vite将public目录改为public_html失败求助

Laravel 11 Vite 改 public 为 public_html 踩坑解决

你遇到的问题是因为配置没做全——Laravel 11 切换默认 public 目录到 public_html,光改 vite.config.js 和 AppServiceProvider 不够,还有几个关键配置没跟上,导致系统还是默认去原 public 目录找 manifest 文件。以下是完整的修正步骤:

1. 补全 vite.config.js 配置

得保证你的 vite.config.js 里明确指定输出到 public_html,代码如下:

import { defineConfig } from 'vite';
import laravel from 'laravel-vite-plugin';

export default defineConfig({
    plugins: [
        laravel({
            input: ['resources/css/app.css', 'resources/js/app.js'],
            publicDirectory: 'public_html', // 核心:指定资源输出目录
            buildDirectory: 'build', // 保持默认build子目录,也可以自定义
        }),
    ],
});

2. 完善 AppServiceProvider 绑定

在app/Providers/AppServiceProvider.php的boot方法里,覆盖默认的 public 路径绑定:

<?php

namespace App\Providers;

use Illuminate\Support\ServiceProvider;

class AppServiceProvider extends ServiceProvider
{
    public function boot(): void
    {
        // 覆盖默认的public路径绑定
        $this->app->bind('path.public', function () {
            return base_path('public_html');
        });
    }
}

3. 必须改 bootstrap/app.php(Laravel 11 新增)

Laravel 11 把核心配置移到了bootstrap/app.php,这里必须指定 public 路径,否则系统还是认原来的 public 目录:

return Application::configure(basePath: dirname(__DIR__))
    ->withRouting(
        web: __DIR__.'/../routes/web.php',
        commands: __DIR__.'/../routes/console.php',
        health: '/up',
    )
    ->withMiddleware(function (Middleware $middleware) {
        // 你的中间件配置
    })
    ->withExceptions(function (Exceptions $exceptions) {
        // 你的异常配置
    })
    ->withPublicPath(publicPath: __DIR__.'/../public_html') // 新增这一行,指定public_html为根目录
    ->create();

4. 配置 .env 文件

在根目录的.env里加一行,明确 public 路径:

PUBLIC_PATH=public_html

5. 清理缓存+重新构建

做完上面的配置,先清缓存:

php artisan cache:clear
php artisan config:clear

然后重新构建资源,让 Vite 把文件输出到 public_html:

npm run build

现在再访问项目,应该就不会再找 public 下的 manifest 了。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.20 09:57:34