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

如何在Hostinger部署Laravel+React+Vite网站?部署报错求助

Hostinger部署Laravel+React+Vite出现403/500错误的解决方法

问题回顾

已完成以下部署操作但出现异常:

  • 上传网站文件至Hostinger
  • 创建并配置.env环境变量
  • 搭建数据库
  • 将Vite构建产物build文件夹放入public目录
  • 修改resources/views/welcome.blade.php引入构建资源:
    @vite(['public/build/assets/app.a0a7c860.js', 'public/build/assets/app.69041b03.css'])
    
  • 初始public/.htaccess为Laravel默认配置,出现403错误后,在项目根目录添加转发规则的.htaccess,引发500服务器错误。

具体解决步骤

1. 修正网站根目录配置(核心解决项)

Hostinger默认网站根目录为public_html,错误的目录映射是403/500错误的主要原因:

  • 方案一(推荐):将Laravel项目public目录下的所有文件直接上传至public_html,而非上传整个Laravel项目到public_html后做转发。
  • 方案二:登录Hostinger面板,找到对应网站的「域名管理」→「网站根目录」,将其修改为你的Laravel项目下的public文件夹路径(例如:public_html/your-project/public)。

2. 修复根目录.htaccess转发规则(若保留项目结构)

若坚持保留完整项目结构,需修改根目录.htaccess避免循环转发:

<IfModule mod_rewrite.c>
    RewriteEngine On
    # 排除已指向public的请求,防止循环
    RewriteCond %{REQUEST_URI} !^/public/
    RewriteRule ^(.*)$ public/$1 [L]
</IfModule>

同时确保:

  • public目录权限设置为755
  • 所有文件权限设置为644

3. 修正Vite资源引入路径

@vite助手的路径基于项目public目录,无需添加public前缀,修改welcome.blade.php中的代码:

@vite(['build/assets/app.a0a7c860.js', 'build/assets/app.69041b03.css'])

若使用Vite默认入口配置,更规范的写法是:

@vite('resources/js/app.js')

(需确保vite.config.js中build.outDir已配置为public/build)

4. 检查.env文件配置与权限

  • 将.env文件权限设为644(禁止设置为777,Hostinger会拦截这类高权限文件)
  • 确认APP_URL设置为你的域名(例如https://your-domain.com)
  • 生产环境下将APP_DEBUG设为false

5. 清除Laravel缓存

通过SSH连接Hostinger服务器,进入项目根目录执行以下命令:

php artisan config:clear
php artisan cache:clear
php artisan route:clear

若无SSH权限,可手动删除bootstrap/cache目录下的所有缓存文件(保留.gitignore)。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.01 14:05:29