我想指定,如果在比現有的其他航線的URL地址中輸入任何東西(在routes.php文件,然後顯示404頁laravel路由和404錯誤
我知道這一點:
App::abort(404);
?
但我怎麼可以指定定義的一切,除了路由的部分
我想指定,如果在比現有的其他航線的URL地址中輸入任何東西(在routes.php文件,然後顯示404頁laravel路由和404錯誤
我知道這一點:
App::abort(404);
?
但我怎麼可以指定定義的一切,除了路由的部分
您可以添加到您的filters.php文件:
App::missing(function($exception)
{
return Response::view('errors.missing', array(), 404);
});
並創建errors.missing
視圖文件以向他們顯示錯誤。
而且看一看的Errors & Logging docs
編輯
如果您需要將數據傳遞給視圖,第二個參數是一個數組,你可以使用:
App::missing(function($exception)
{
return Response::view('errors.missing', array('url' => Request::url()), 404);
});
我會建議把這個放入你的app/start/global.php
,因爲這是Laravel默認處理它的地方(儘管filters.php
也可以)。我通常使用的是這樣的:
/*
|--------------------------------------------------------------------------
| Application Error Handler
|--------------------------------------------------------------------------
|
| Here you may handle any errors that occur in your application, including
| logging them or displaying custom views for specific errors. You may
| even register several error handlers to handle different types of
| exceptions. If nothing is returned, the default error view is
| shown, which includes a detailed stack trace during debug.
|
*/
App::error(function(Exception $exception, $code)
{
$pathInfo = Request::getPathInfo();
$message = $exception->getMessage() ?: 'Exception';
Log::error("$code - $message @ $pathInfo\r\n$exception");
if (Config::get('app.debug')) {
return;
}
switch ($code)
{
case 403:
return Response::view('errors/403', array(), 403);
case 500:
return Response::view('errors/500', array(), 500);
default:
return Response::view('errors/404', array(), $code);
}
});
接下來,只要一個errors
文件夾內/views
,把你的錯誤頁面內容在那裏。正如Antonio提到你可以通過array()
傳遞數據。
我好心借了https://github.com/andrewelkins/Laravel-4-Bootstrap-Starter-Site
正在使用'Laravel 5.2'和'app/start/global.php'不可用。你能提出我應該做什麼嗎? – Pankaj
這種方法這是我只是一個模板佈局顯示錯誤404的方法。只需將以下代碼添加到/app/start/global.php
文件
App::missing(function($exception)
{
$layout = \View::make('layouts.error');
$layout->content = \View::make('views.errors.404');
return Response::make($layout, 404);
});
只是使用Laravel 5人,有一種錯誤的觀點目錄文件夾中。您只需要在那裏創建一個404.blade.php文件,當沒有爲url指定路由時,它將呈現此視圖。
如何傳遞Request:url()以取消刀片服務。 – alayli
編輯回答你的問題。 –
你好...有可能得到以前的網址在404頁面添加一個鏈接,如「轉到上一頁」? – SoldierCorp