[英]Heroku 403 Forbidden Error
我部署了一個 PHP 應用程序,當我點擊 url 時,我收到以下錯誤:
Forbidden
You don't have permission to access / on this server.
我猜它試圖進入 app/ 目錄,但它不能。
我的項目結構:
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
檔案
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>
嗯,所以我找到了解決方案。
我的 Procfile 有一個 .txt 擴展名(所以 Procfile.txt),而它只需要是 Procfile。
退出一個愚蠢的錯誤,但我認為我應該將答案留在這里以供將來參考。 也許這會節省別人的時間。
我也遇到了同樣的問題,因為我在根文件夾中沒有任何 index.php 文件,所以我沒有得到任何東西,導致該錯誤。 如果您有同樣的問題,那么在 heroku 應用程序 url 之后輸入您的主頁 php 文件。 例如 - app/custom.php 。
一個真正、簡單、小巧的解決方案:
過程文件
姓名。 我將其命名為 ProcFile,這是將ProcFile重命名為Procfile僅首字母大寫的問題。
我有同樣的問題,通過創建 index.php 文件解決了這個問題。
極其奇怪的錯誤! Procfile 對我來說不是問題的原因。
出於某種原因,當我在我的根文件夾中創建一個名為“app”的空目錄時,它修復了。
我有一個類似的問題:
在我的 index.php 中,我使用的是include_once('index.html')
更改為header('Location: /index.html')
並且它可以工作。
注意 index.php 和 index.html 都在根目錄下。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.