我有以下路线
Route::get('categories', 'MixsController@listJokesCategories');
Route::get('tag', 'MixsController@listJokestags');
Route::get('jokes', 'MixsController@listJokes');
所以我的有效网址是
site_url/categories
site_url/jokes
site_url/tags
如果用户点击浏览器中的其他网址说site_url / stories则会抛出错误
Symfony \ Component \ HttpKernel \ Exception \ NotFoundHttpException
open: /var/www/dagonlife_web/vendor/laravel/framework/src/Illuminate/Routing/RouteCollection.php
这看起来非常不专业,不是有一些方法来捕捉此错误并重定向到某些自定义页面,如 page_not_found
答案 0 :(得分:1)
是的,您可以使用App::missing()
。来自the documentation的示例:
App::missing(function($exception)
{
return Response::view('errors.missing', array(), 404);
});
您还可以侦听该特定异常并将其绑定到函数,例如:
App::error(function(Symfony\Component\HttpKernel\Exception\NotFoundHttpException $exception, $code)
{
return Response::view('errors.missing', array(), 404);
});