【发布时间】:2015-07-06 10:47:42
【问题描述】:
问题如下。
如何在 Laravel 5 中为不存在的页面设置默认路由?因此,当找不到页面时,会以状态 200 显示某些默认视图。
【问题讨论】:
标签: laravel-5 laravel-routing middleware
问题如下。
如何在 Laravel 5 中为不存在的页面设置默认路由?因此,当找不到页面时,会以状态 200 显示某些默认视图。
【问题讨论】:
标签: laravel-5 laravel-routing middleware
我认为对于不存在的页面,您应该使用状态码 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 目录中来创建自定义 404 视图。
但是,不要发送 200 OK HTTP 状态。这只是破坏了 HTTP 协议所代表的一切。
【讨论】: