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

Symfony 5部署至Hostinger生产环境后403 Forbidden错误解决求助

解决Symfony 5部署到Hostinger出现403 Forbidden的问题

针对你遇到的Symfony 5部署到Hostinger后出现403禁止访问的问题,结合Hostinger的环境特性,给出以下关键解决方案:

1. 修改Hostinger网站根目录指向public文件夹

Hostinger默认将网站的Document Root设置为public_html,但Symfony的入口文件index.php和路由规则文件.htaccess都在项目的public子文件夹中,直接访问public_html会因无默认入口文件返回403。

操作步骤:

  • 登录Hostinger控制面板,进入「网站」->「管理网站」
  • 找到「域名」设置里的「Document Root」选项
  • 将其修改为public_html/public,保存后刷新网站

2. 若无法修改根目录,添加根目录.htaccess转发规则

如果因权限或限制无法修改Document Root,可在public_html根目录新建.htaccess文件,将所有请求转发到public文件夹的入口:

<IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteRule ^$ public/ [L]
    RewriteRule (.*) public/$1 [L]
</IfModule>

3. 修复文件夹权限(避免777的安全风险)

你之前使用chmod -R 777 public/权限过于开放,存在安全隐患,建议调整为更安全的权限:

  • 设置文件夹权限为755:chmod -R 755 public/
  • 设置文件权限为644:chmod -R 644 public/*
    同时确保Symfony的var/目录拥有正确的写入权限:
chmod -R 775 var/
chown -R www-data:www-data var/

4. 验证Apache模块是否启用

确保Hostinger的Apache服务器已启用mod_rewrite和mod_negotiation模块:

  • 登录Hostinger控制面板,进入「高级」->「Apache Modules」
  • 勾选mod_rewrite和mod_negotiation,保存后重启Apache服务

完成以上操作后,清除生产环境缓存:

php bin/console cache:clear --env=prod

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.21 20:22:26