Laravel 5自定义“未找到”页面

时间:2015-07-06 10:47:43

标签: laravel-5 laravel-routing middleware

问题如下。

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

2 个答案:

答案 0 :(得分:1)

我认为对于不存在的页面,您应该使用状态代码404,但如果您想通过200 ok,那么这应该可以正常工作。

404.blade.php目录创建文件views >> errors,并在其中放置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);

}

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

答案 1 :(得分:0)

您可以通过创建名为 404.blade.php 的Blade模板并将其放在 resources / views / errors 目录中来创建自定义404视图。

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