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

Bluehost附加域部署Laravel项目遇403 Forbidden错误求助

解决Bluehost附加域部署Laravel的403 Forbidden错误

1. 修正附加域的文档根目录设置

Bluehost附加域必须将文档根目录指向Laravel项目的public文件夹,而非项目根目录。根据你的目录结构,正确路径应为:

public_html/laravelapp/[Laravel项目文件夹]/public

登录Bluehost控制面板,找到「附加域」管理模块,修改对应附加域的文档根路径为上述public文件夹的完整路径。这是导致403的核心原因——直接访问项目根目录时无可用入口文件,且Options -Indexes规则禁止了目录列表显示。

2. 替换public目录下的.htaccess为标准配置

你的.htaccess存在嵌套的<IfModule mod_rewrite.c>标签和重复的RewriteEngine On指令,会引发规则冲突。替换为Laravel官方标准配置:

<IfModule mod_rewrite.c>
    <IfModule mod_negotiation.c>
        Options -MultiViews -Indexes
    </IfModule>

    RewriteEngine On

    # Handle Authorization Header
    RewriteCond %{HTTP:Authorization} .
    RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]

    # Redirect Trailing Slashes If Not A Folder...
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteCond %{REQUEST_URI} (.+)/$
    RewriteRule ^ %1 [L,R=301]

    # Send Requests To Front Controller...
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteRule ^ index.php [L]
</IfModule>

无需额外添加RewriteBase,因为文档根已指向public文件夹,规则会自动基于当前根目录生效。

3. 重新验证文件夹权限

确保以下目录权限设置正确:

  • public目录:权限设为755
  • storage和bootstrap/cache目录:权限设为755或775(Bluehost部分服务器需用户组可写)
  • 所有文件:权限设为644

4. 再次清理Laravel缓存

执行以下命令确保缓存完全清除:

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

完成以上步骤后,重新访问附加域即可解决403错误。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.28 07:27:11