如何在Apache部署Laravel Sail-Inertia-Vue3应用?构建文件存疑
Vite构建文件的Apache部署与Laravel关联说明
Apache生产服务器的文件放置位置
- 直接将
build目录下的所有文件及文件夹,完整复制到Apache服务器的网站根目录:- 常见路径:Linux系统一般是
/var/www/html,Windows下XAMPP/WAMP是htdocs文件夹
- 常见路径:Linux系统一般是
- 具体文件对应:
assets/文件夹直接放到根目录,里面的app.css、app.js会被前端页面自动引用index.php、manifest.json、robots.txt直接移到根目录.htaccess如果服务器已有同名文件,别直接覆盖,要把两个文件的规则合并(比如原有路由重写规则和前端SPA的重定向规则)
与Laravel部署的关联
- Laravel项目的前端资源最终都是部署在
public/目录下,Vite构建产物就是生产环境的前端资源 - 正常Laravel+Vite项目执行
npm run build,产物会直接输出到Laravel的public/目录;如果你的构建产物生成在public/build,说明Vite配置里改了输出路径 - Laravel部署时,需要把Apache的网站根目录指向Laravel项目的
public/目录,所以你现在build里的所有内容,直接复制到Laravel的public/目录即可 - 注意
index.php:如果是SPA项目,前端的index.php是页面入口,需要和Laravel的index.php配合——要么配置Laravel路由 fallback到前端入口,要么根据项目架构替换或整合两个文件的逻辑 .htaccess:Laravel的public/目录默认有路由重写的.htaccess,你构建出来的.htaccess如果有前端相关规则(比如SPA路由重定向),要合并到现有文件里,避免路由冲突
内容的提问来源于stack exchange,提问作者Tamás László
相关产品推荐
相关产品推荐

