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 协议所代表的一切。
问题如下
如何为 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 协议所代表的一切。