禁止在heroku中托管laravel应用程序时,您无权访问/在此xampp服务器上

时间:2017-03-01 13:50:19

标签: php laravel .htaccess heroku xampp

我尝试将我的laravel应用程序部署到heroku但在完成所有步骤后运行heroku时显示以下错误 enter image description here

我的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>

5 个答案:

答案 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上部署了应用程序?你能检查一下你是否做了以下事情吗?

  1. 创建Heroku App
  2. 在项目的根目录上创建Procfile
  3. 修改composer.json
  4. 让您的项目文件保持最新状态
  5. 将项目文件添加到Heroku
  6. 设置数据库连接*
  7. 如果您错过了任何步骤,请执行此操作并重试。以下博客文章中包含在Heroku云应用程序平台上部署,构建,运行和操作Laravel应用程序的完整指南,其中包含您需要的所有步骤和信息。

    阅读: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

  1. git状态
  2. git add -A
  3. git commit -m“添加Procfile并使用Apache2”
  4. git push heroku master

我希望它会解决