2016-07-24 222 views
3

我部署PHP應用程序,當我打的網址,我得到以下錯誤:Heroku的403禁止錯誤

Forbidden 

You don't have permission to access/on this server. 

我想它會嘗試進入應用程序/目錄,但它不能。


我的項目結構:

my-project 
| 
|-> app/ 
|-> public/ (index.php inside here that takes care of routing) 
Procfile 
composer.json 
etc. 

什麼日誌顯示:

Jul 24 12:44:08 cryptic-beyond-39147 app/web.1: [Sun Jul 24 19:44:07.846582 2016] [autoindex:error] [pid 99:tid 139960748263168] [client 10.179.164.130:28253] AH01276: Cannot serve directory /app/: No matching DirectoryIndex (index.php,index.html,index.htm) found, and server-generated directory index forbidden by Options directive 
Jul 24 12:44:08 cryptic-beyond-39147 app/web.1: 10.179.164.130 - - [24/Jul/2016:19:44:07 +0000] "GET/HTTP/1.1" 403 209 "-" "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/51.0.2704.63 Safari/537.36 
Jul 24 12:44:13 cryptic-beyond-39147 heroku/router: at=info method=GET path="/" host=cryptic-beyond-39147.herokuapp.com request_id=9b5e81de-440b-4001-90a4-bc94ee891d3c fwd="89.210.178.134" dyno=web.1 connect=0ms service=1ms status=403 bytes=373 

Procfile

web: vendor/bin/heroku-php-apache2 public/ 

的.htaccess

<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}] 

    AddType 'text/css; charset=UTF-8' css 

</IfModule> 

回答

5

Ehhmm所以我找到了解決辦法。

我的Procfile有一個.txt擴展名(所以Procfile.txt),而它只需要Procfile。

退出一個愚蠢的錯誤,但我想我應該留下答案在這裏供將來參考。也許這會節省別人的時間。

+0

只是在您仍然遇到此問題時,文件名也是區分大小寫的。 'procfile'不是'procfile'需要2個小時才能確定。別成爲我 –