首页 文章

如果在laravel中找不到路线,如何显示404页面

提问于
浏览
3

我使用中间件创建了路由组 . 它工作得很好 .

但我有一个问题,如果我导航网址

http://localhost/laravel-news/public/admin/add-post-new

这没有登录然后它重定向到访客主页

但如果我导航url

http://localhost/laravel-news/public/add-post-new

没有admin在url然后它返回空白页面 . 现在我的问题是如何显示页面找不到404页面 . 我正在使用laravel 5.1

谢谢

update

Route::group(['middleware' => 'admin'], function () {


            Route::get('add-post-new', function () {

        //  dd('something');
            return view('a.addPost');

            });

            Route::post('/add-post-new','PostsController@addPost');

            Route::get('/all-post', function () {return view('a.all_post'); });



});

4 回答

  • 11

    试试这个:

    abort(404);
    

    更多信息http://laravel.com/docs/5.1/routing#throwing-404-errors

  • 2

    你可以使用abort();方法并在错误文件夹中创建一个视图,正如文档中所述 .

    Laravel将自动获取错误页面并显示它 .

    http://laravel.com/docs/5.1/errors#http-exceptions

  • 2

    使用this设置404路由,然后使用该路由中的任何视图文件

    App::error(function(Exception $exception, $code)
    {
    Log::error($exception);
    
    if (Config::get('app.debug') == false) {
        return Redirect::route('404');
    }
    });
    
  • 0

    update 13.11.2017

    只需在 /resources/views/errors/ 文件夹中创建404.blade.php页面,如果路径不存在,将显示该页面


    而不是非现有路线的laravel错误:

    Sorry, the page you are looking for could not be found.
    1/1 NotFoundHttpException in RouteCollection.php line 161:
    
    • /resources/views/errors/ 文件夹中创建404.blade.php页面

    然后用它来调用它

    abort(404);
    

    例如,创建一个这样的路线:

    Route::get('/404', function () {
        return abort(404);
    });
    

相关问题