0

我能够成功地使用 Event::Override 函数来处理 404 事件,但不能使用 500 事件。我只是希望事件能够通过一条消息重定向到首页,因为我可以很好地处理 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');
}); 

有任何想法吗?

4

2 回答 2

0

我已经能够通过直接在 \application\views\error 文件夹中更新 500 错误文件来解决此问题。

于 2013-02-21T20:46:20.020 回答
0

我的一个移动应用程序需要json格式错误。我从 laravel forum 得到了它的解决方案。用于捕获 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);

});

捕获未处理的数据库错误,..

App::error(function(Exception $exception , $code )
{
    return Response::json(  array(
        'message' => $exception->getMessage() ,
        'code' => $code ,
    ), $code );
});
于 2014-05-15T10:08:44.540 回答