Laravel 5 自定义 "Not Found" 页面

Laravel 5 custom "Not Found" page

问题如下

如何为 Laravel 5 中不存在的页面设置默认路由?因此,当找不到页面时,某些默认视图会显示状态 200。

我认为对于不存在的页面你应该使用状态码 404 但如果你想通过 200 ok 那么这应该没问题。

views >> errors 目录中创建文件 404.blade.php 并将 abort(200); 放入其中。

更新 或者您可以将此代码放在文件 app/Exceptions/Handler.php

public function render($request, Exception $e)
{

    // 404 page with status code 200
    if ($e instanceof ModelNotFoundException) {
        return response()->view('errors.404', [], 200);
    }

    return parent::render($request, $e);

}

注意:在 views >> errors 目录中创建文件 404.blade.php 必须或通过另一个自定义视图。

您可以通过创建名为 404.blade.php 的 Blade 模板并将其放置在 resources/views/errors目录。

但是,不要发送 200 OK HTTP 状态。这破坏了 HTTP 协议所代表的一切。