2016-09-22 102 views
0

我試圖讓Laravel響應自定義403錯誤而不是顯示默認的nginx禁止頁面。允許Laravel響應403而不是nginx

我有在app/Exceptions/Handler.php我的大多數異常類型的自定義處理程序和他們工作得很好,除了403我加了render函數中的以下代碼到Handler.php file處理403:

if($e instanceof HttpException && $e->getStatusCode() == 403){ 
     return response("403 Forbidden error response"); 
    } 

但我還是隻看到默認的nginx禁止頁,如果我可以說,導航到http://myapp.com/images/

在這一點上我相當肯定這是一個nginx的配置我可能會丟失,但我不是100%肯定,在網上搜索後什麼,似乎無法找到解決方案。

謝謝

+1

什麼是阻止用戶訪問'/ images'?如果是nginx配置中的服務器塊,您將無法更改laravel上的響應,因爲它會在調用Laravel之前阻止。 –

+1

請[edit]包含您的nginx配置。 – Keelan

回答

0

謝謝你的建議和評論大家,我已經能夠找到並修復是什麼造成的問題。正如伊萊亞斯蘇亞雷斯在上面提到的那樣,評論顯然這個問題在拉拉維爾到達之前就已經發生了。我走進我的nginx的配置文件,發現下面一行:

error_page 404 /index.php; 

而且由於Laravel確實是正確處理404錯誤,我只是簡單地添加同樣的事情爲403:

error_page 403 /index.php; 

現在Laravel正在以我想要的方式處理任何403錯誤。

謝謝!