2014-03-19 84 views
0

如何在操作中調用App :: abort(404),該操作不存在?Laravel 4 rest controller 404 error

當我去url/logindfghdfghdfghhdfgh(一些非真實的url)時,我想顯示404頁面,但它顯示我在控制器中的第一個動作。

請幫幫

Route::get('/login', '[email protected]'); 
Route::post('/login', '[email protected]'); 

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

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

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

請向我們展示您的路線。 –

+0

已更新問題 – KoIIIeY

+0

您是否添加了像http://laravel.com/docs/errors#handling-404-errors – JackPoint

回答

0

由於JackPoint在評論中提到,如果添加了將要被拉到在啓動時,如

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

地方。在app/start/global.php中可以工作,那麼它應該在404上顯示一個自定義錯誤頁面 - 在上面的例子中,你需要在你的views文件夾下有一個錯誤文件夾,並在那裏有一個missing.blade.php視圖文件如果您使用的是刀片視圖)。

+0

這不工作,可能有更多的選擇? – KoIIIeY

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

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