Laravel 5.4 | NotFoundHttpException的自定义页面

whi*_*lar 6 laravel laravel-5.4

我想在Laravel 5.4中的NotFoundHttpException情况下将用户重定向到自定义404页面

为此,我在App\Exceptions\Handler.php文件中添加了以下代码:

public function render($request, Exception $exception)
{
    if ($exception instanceof NotFoundHttpException) {
        if ($request->expectsJson()) {
            return response()->json(['error' => 'Not Found'], 404);
        }
        return response()->view('404', [], 404);
    }
    return parent::render($request, $exception);
}
Run Code Online (Sandbox Code Playgroud)

出于某种原因,这不起作用.如果我在这里做错了,有人可以指出吗?

谢谢!

Jos*_*ton 15

Laravel将在回退到默认视图之前呈现您的错误页面.

如果您的视图是在:resources/views/errors/404.blade.php.此页面将在回退错误页面之前呈现.

上面目录中的视图应该包含您尝试呈现的HTTP状态代码的名称.

更多信息可以在laravel文档中找到:

https://laravel.com/docs/5.4/errors#custom-http-error-pages


Edd*_*ove 5

只需在此创建您的视图

resources/views/errors/404.blade.php
Run Code Online (Sandbox Code Playgroud)

Laravel将自动为您服务