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目录:权限设为755storage和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
相关产品推荐
相关产品推荐

