自定义错误500页面不显示使用Event :: override - Laravel
问题描述:
我能够成功地使用Event :: Override函数与404事件,但不是500事件。我只希望事件通过flash消息重定向到首页,因为我可以很好地处理404个事件。自定义错误500页面不显示使用Event :: override - Laravel
我还需要做些什么才能让500个事件也重定向到我的首页?请参阅routes.php文件中的代码:
Event::listen('404', function() {
return Response::error('404');
});
Event::listen('500', function() {
return Response::error('500');
});
Event::override('404', function() {
Session::flash('error', '<strong>Error 404 - Not Found.</strong> The page you are looking for is either <u>invalid</u> or <u>may no longer exist</u>. You are now back at our home page.');
return Redirect::to_route('home');
});
Event::override('500', function() {
Session::flash('error', '<strong>Error 500 - Internal Server Error.</strong> Something went wrong on our servers, apologies for that. Please contact us if this persists.');
return Redirect::to_route('home');
});
有什么想法?
答
我已经能够通过直接在\ application \ views \ error文件夹中更新500错误文件来解决此问题。
答
我的一个移动应用程序需要格式为json
的错误。我从laravel论坛得到了它的解决方案。为了捕捉HTTP错误
App::error(function(Symfony\Component\HttpKernel\Exception\HttpException $exception) {
$code = $exception->getStatusCode();
// you can define custome message if you need
return Response::json(array(
'message' => $exception->getMessage() ,
'code' => $code ,
) , $code);
});
捕获未处理像DB错误..
App::error(function(Exception $exception , $code)
{
return Response::json( array(
'message' => $exception->getMessage() ,
'code' => $code ,
), $code);
});
肯定的是,有人已经有过这种经历过吗?任何人? – user1746582