2015-05-21 23 views
0

目前,我在Laravel文檔中建議在start/global.php中設置錯誤頁面。如何在Laravel 4中配置自定義403視圖

下面是代碼:

App::error(function(Exception $exception, $code) 
{ 
    if (! Config::get('app.debug')) 
    { 
     $view = (View::exists("error/{$code}")) ? "error/{$code}" : "error/404"; 
     return Response::view($view); 
    } 
} 

在我的意見是

app/views/error/* 

我已經成功地測試503,500和400,但錯誤頁面403是示出如圖所示的圖像中的默認阿帕奇默認:

enter image description here

不知道爲什麼日正在發生

也許我測試403頁錯誤的方式... 我知道我可以測試頁403如果運行App :: abort(403),但我正在尋找一種方法來驗證其工作一個真實的案例。

也許我得到了一個與Laravel自定義錯誤頁面崩潰的Apache配置?

由於提前,

回答

1

ErrorDocument不允許外DocumentRoot瞄準所以你唯一的選擇是使用Alias

將以下行添加到您的public文件夾中的.htaccess

ErrorDocument 403 /errors/403.blade.php 

和下面一行到你VirtualHost定義(Alias.htaccess不允許的)上的文件夾

Alias /errors/ /path/to/resources/views/errors/ 
+0

如果它不會導致不定式循環,這可以工作 – achucuan

+1

循環表示Apache配置有問題。將'mod_rewrite'的日誌級別設置爲至少'trace3'('LogLevel alert rewrite:trace3')並在此之後檢查日誌。 – brezanac

0

授予權限,以IMG文件夾chmod -R 0765 img

+0

權限都沒有的情況下,我需要做的,是個性化403頁,我在404,500和503自定義頁面在他們應該工作之前提及,但403仍然顯示apache默認403錯誤。 – achucuan

相關問題