Laravel 4休息控制器404错误

时间:2014-03-19 13:02:58

标签: routing laravel-4

如何在行动中调用App :: abort(404),这不存在?

当我去url / logindfghdfghdfghhdfgh(一些非真实的网址)时,我想显示404页面,但它显示我在控制器中的第一个动作。

请,帮助

Route::get('/login', 'UserController@getLogin');
Route::post('/login', 'UserController@postLogin');

Route::group(array('before' => 'auth'), function(){
    Route::controller('/codes', 'CodeController');
});

Route::controller('/users', 'UserController');

Route::controller('/', 'PromoController');

2 个答案:

答案 0 :(得分:0)

正如JackPoint在评论中提到的,如果你添加

App::missing(function($exception)
{
    return Response::view('errors.missing', array(), 404);
});

某个地方会在启动时被拉入,例如。在app / start / global.php中可以工作,然后它应该在404上显示一个自定义错误页面 - 在上面的例子中,你需要在views文件夹下有一个errors文件夹,并在那里有一个missing.blade.php视图文件(如果您使用的是刀片视图。

答案 1 :(得分:0)

if(!Request::is('/')){
        App::abort(404);
    }

我在我的get()方法中添加它,它与App :: missing()一起使用。