我可以成功使用Event :: Override功能404事件而不是500事件。我只是希望通过flash消息将事件重定向到首页,因为我能够处理404事件。
还有什么我需要做的才能让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');
});
任何想法?
答案 0 :(得分:0)
我已经能够通过直接在\ application \ views \ error文件夹中更新500错误文件来解决这个问题。
答案 1 :(得分:0)
我的一个移动应用程序需要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 error,..
一样未处理App::error(function(Exception $exception , $code )
{
return Response::json( array(
'message' => $exception->getMessage() ,
'code' => $code ,
), $code );
});