Laravel Vue.js项目部署cPanel后资源加载异常求助
解决Laravel+Vue项目部署cPanel后/public页面空白、资源加载失败的问题
调整cPanel域名根目录指向
cPanel默认域名根目录为public_html,直接将Laravel项目public目录下的所有文件(包括打包生成的子目录)上传到public_html中,或者在cPanel的域名管理里修改根目录为你项目的public文件夹。这样访问主域名https://podstaging.ibexstack.com即可直接进入应用,无需追加/public。修正资源加载路径
- 检查
public/index.html(或Laravel blade模板)里的app.css、app.js引用路径,确保路径与实际部署结构匹配。若根目录未指向public,路径可能多了一层/public导致资源找不到。 - 在项目
.env文件中设置APP_URL=https://podstaging.ibexstack.com,同步修改config/app.php里的'url'配置项为该域名。 - 若使用Vite打包,修改
vite.config.js中的base配置:
若使用Mix,确保export default defineConfig({ base: '/', // 若根目录指向public则用这个,否则设为'/public/' // ...其他配置 })webpack.mix.js中设置mix.setPublicPath('public'),之后重新执行npm run build。
- 检查
检查文件权限
通过cPanel文件管理器或SSH命令,将public目录下打包生成的子目录权限设为755,目录内文件权限设为644,确保服务器能读取资源:chmod -R 755 public/[打包子目录名] chmod -R 644 public/[打包子目录名]/*清除缓存
执行Laravel缓存清理命令:php artisan config:clear php artisan route:clear php artisan cache:clear同时清除浏览器缓存或用无痕模式访问,避免旧缓存路径干扰。
内容的提问来源于stack exchange,提问作者Sheharyar Ahmed
相关产品推荐
相关产品推荐

