我尝试将我的laravel应用程序部署到heroku但在完成所有步骤后运行heroku时显示以下错误
我的ht访问文件是
<IfModule mod_rewrite.c>
<IfModule mod_negotiation.c>
Options -MultiViews
</IfModule>
RewriteEngine On
# Redirect Trailing Slashes If Not A Folder...
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)/$ /$1 [L,R=301]
# Handle Front Controller...
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ index.php [L]
# Handle Authorization Header
RewriteCond %{HTTP:Authorization} .
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
</IfModule>
答案 0 :(得分:1)
创建Procfile 默认情况下,Heroku将与PHP一起启动Apache Web服务器,以便从项目的根目录提供应用程序。 但是,应用程序的文档根目录是public /子目录,因此您需要创建一个配置正确文档根目录的Procfile:
在项目目录的终端上,执行以下(对于Windows)
echo web: vendor/bin/heroku-php-apache2 public/ > Procfile
然后做Git add,Commit,Push -Source Heroku文档
答案 1 :(得分:0)
我认为问题在于:
access here, or in any related virtual host.
<Directory />
Options FollowSymLinks
AllowOverride All
Require all denied
</Directory>
<Directory /usr/share>
AllowOverride None
Require all granted
</Directory>
<Directory /var/www/>
Options Indexes FollowSymLinks
AllowOverride all
Require all granted
</Directory>
关键点是
Require all denied
您应该将拒绝更改为已授予
答案 2 :(得分:0)
您是否正确地在Heroku上部署了应用程序?你能检查一下你是否做了以下事情吗?
如果您错过了任何步骤,请执行此操作并重试。以下博客文章中包含
阅读:Laravel: Deploy Laravel Projects On Heroku
https://www.ashenlive.com/blog/laravel-deploy-laravel-projects-on-heroku
答案 3 :(得分:0)
我遇到了同样的问题并找到了解决方案。关于Heroku在目录中找不到索引文件(index.php,index.html)的问题。 例如,如果您无法访问根目录下的文件,则应在其中添加索引文件。就我而言,我有一个根目录并有一个index.php文件,因此可以访问其中的文件。但根目录下还有一个我无法输入的文件夹。所以我也在那里创建了一个空的index.html文件。
然后问题解决了。
答案 4 :(得分:0)
在Procfile中,您已对其进行了编辑,并将代码替换为
web: heroku-php-apache2 public/
现在通过cmd中的此命令更新您的Procfile
我希望它会解决