2014-11-06 139 views

回答

9

不定路線打響Symfony\Component\HttpKernel\Exception\NotFoundHttpException例外,你可以在應用程序中處理使用App :: error()方法是這樣/開始/ global.php:

/** 
* 404 Errors 
*/ 
App::error(function(\Symfony\Component\HttpKernel\Exception\NotFoundHttpException $exception, $code) 
{ 
    // handle the exception and show view or redirect to a diff route 
    return View::make('errors.404'); 
}); 
+1

從技術上講,當你點擊404路線時,我不會重定向到路線,只是顯示404頁面。 – bgallagh3r 2014-11-06 01:41:16

+1

是這就是我的意圖,不重定向,只顯示404頁面,而你的是正確的,謝謝! – dulan 2014-11-06 01:53:01

4

我升級我laravel 4代碼庫Laravel 5,任何人誰在乎:

App::missing(function($exception) {...}); 

不再在Laravel 5,爲了返回404視圖所有不存在路線,儘量把在應用中的以下/ HTTP/Kernel.php:根據

public function handle($request) { 
    try { 
     return parent::handle($request); 
    } 
    catch (Exception $e) { 
     echo \View::make('frontend_pages.page_404'); 
     exit; 
     // throw $e; 
    } 
} 
6

官方documentation

你可以在添加文件:重來源/意見/錯誤/ 調用404.blade.php與您想要在404錯誤上顯示的信息。

+0

本文檔適用於Laravel 5,但是您是對的,而且我最近已將基於Laravel 4.2的項目更新爲Laravel 5.現在如果我想擁有2 404個頁面,一個用於移動設備,另一個用於桌面瀏覽器? – dulan 2015-11-21 06:43:09

17

Laravel 5.2。不要在錯誤文件夾中創建一個名稱爲404.blade.php的文件,它會自動檢測404異常。

+2

這應該是公認的答案 – exussum 2017-01-09 19:11:26

+0

這是做這件事的正確方法 – codiiv 2017-02-25 13:04:06