Laravel应用部署至Heroku后出现Forbidden访问禁止问题求助
解决Heroku上Laravel应用访问禁止(Forbidden)问题
以下是排查和解决的具体操作步骤:
确认Web根目录配置
Heroku默认将项目的public目录作为Web根目录,需确保Laravel项目的根目录指向设置正确。可以查看Heroku的构建日志,排查是否存在路径配置类的错误。验证Procfile命令正确性
确保Procfile内的启动命令无误,标准的Laravel部署Procfile内容应为:web: vendor/bin/heroku-php-apache2 public/注意末尾的
public/必须保留,它用于指定Apache服务的根目录为Laravel的public文件夹。清除缓存后重新部署
在本地执行以下命令清除Laravel缓存,再重新推送代码至Heroku:php artisan cache:clear php artisan config:clear git add . git commit -m "Clear cache before deploy" git push heroku main调整目录权限
确保Laravel的storage和bootstrap/cache目录具备可写权限。可以在composer.json的post-install-cmd节点中添加权限设置脚本:"post-install-cmd": [ "chmod -R 775 storage bootstrap/cache" ]完成修改后重新推送代码,Heroku会在安装依赖后自动执行该脚本。
查看Heroku应用日志
执行heroku logs --tail命令实时查看应用运行日志,日志中会包含Forbidden错误的具体触发原因(比如文件缺失、权限不足、路由配置异常等),可根据日志信息针对性解决问题。
内容的提问来源于stack exchange,提问作者Omer Habib
相关产品推荐
相关产品推荐

