[英]Laravel 4 - Handling 404 Errors
我知道用laravel 4來處理404錯誤就是在app / start / global.php上寫:
App::missing(function($exception)
{
return Redirect::route('404_Error');
});
但實際上我想使用這條路線:
Route::get('error', array(
'as' => '404_Error',
'uses' => 'ErrorController@get404Error'
));
但要保持相同的URL。
例:
我的URL現在是localhost:8000/users/blat
(404錯誤)。 我不想重定向到錯誤頁面。 我想在這個URL上看到ErrorController@get404Error
。
非常感謝。
你可以嘗試這樣的事情:
App::missing(function($exception)
{
return App::make('ErrorController')->get404Error($exception);
});
你的ErrorController
:
class ErrorController extends BaseController {
//...
public function get404Error($exception)
{
//...
$data = ...;
return View::make('error_view')->with('data', $data);
}
}
如果您使用不同的路線,它將重定向到該路線,您可能需要立即渲染您的視圖,IMO這是保持您所在位置的唯一方式,而不是更改您的網址:
App::missing(function($exception)
{
return View::make('404_Error');
});
您只需創建ErrorController
類的實例並調用其get404Error
方法即可。 這樣你就BaseController
類中的變量,並且路由將保持不變。
App::missing(function($exception)
{
$errorController = new ErrorController();
return $errorController->get404Error();
});
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.