2016-02-08 90 views
0

我有一個Laravel webapp,我正在爲Heroku環境開發。在heroku環境中,如果我訪問一個帶有斜槓的URL(I.E. http://example.com/),我將得到一個301重定向,刪除尾部斜線(I.E. http://example.com)。這將是很好的行爲,除了重寫從https移動到http!爲什麼Heroku修剪尾部斜槓?

我花了一些時間試圖在我的開發環境中重現問題本地,我不能,這導致我相信這個問題是與Heroku的Apache配置,但上傳自定義.htaccess轉向RewriteEngine關閉didn不要停止重寫。

有沒有人遇到過類似的問題?

我的proc文件只包含web: vendor/bin/heroku-php-apache2 public,所以它非常小。

回答

1

Heroku不執行此類重定向。如果啓用,Apache爲目錄索引添加斜線,但就是這樣。

您的應用程序正在執行代碼或.htaccess中的某處的重定向,並且由於對dyno的請求是HTTP - 請求協議不會保留,因此在負載平衡器處會發生SSL終止。

設置您的應用程序以信任Heroku負載平衡器作爲代理,以便從X-Forwarded-Proto中讀取請求協議,或者將您的重寫規則更改爲執行此操作。

+0

關於X-Forwarded-Proto的一點對我來說是全新的,這就是請求切換協議的原因。謝謝! – Grisk