自定义错误页面只需在resources/views/errors/下创建对应状态码的Blade文件,如404.blade.php和500.blade.php,框架会自动加载;开发时需设置APP_DEBUG=false并清除缓存才能生效。

在 Laravel 中自定义错误页面(如 404 页面未找到、500 服务器内部错误)非常简单,Laravel 提供了清晰的机制来覆盖默认的错误视图。只需要创建对应的视图文件,框架会自动在发生相应状态码时加载它们。
1. 创建自定义错误页面视图
Laravel 使用 resources/views/errors/ 目录来存放自定义错误页面模板。你只需在这个目录下创建与 HTTP 状态码同名的 Blade 文件即可。
确保路径如下:
-
resources/views/errors/404.blade.php—— 自定义 404 页面 -
resources/views/errors/500.blade.php—— 自定义 500 页面 - 还可以添加其他状态码,如
403.blade.php、419.blade.php等
示例:创建 404 页面
示例:创建 500 页面
2. 开发环境注意事项
在本地开发时,如果 APP_DEBUG=true(在 .env 文件中),Laravel 会显示详细的调试页面而不是你的自定义错误页。要测试自定义页面,需设置:
同时确保已清除配置缓存:
php artisan config:clearphp artisan view:clear
3. 测试自定义错误页面
你可以通过手动触发异常来测试页面是否生效。
- 测试 404:访问一个不存在的路由,例如
/not-exist - 测试 500:在控制器中临时写入
abort(500);
4. 使用布局模板(可选)
如果你的错误页面需要和站点整体风格一致,可以继承公共布局:
{{-- resources/views/errors/404.blade.php --}}@extends('layouts.app')
@section('content')
404
页面未找到
@endsection
基本上就这些。只要文件命名正确并放在指定目录,Laravel 就会自动调用对应的错误页面。不复杂但容易忽略的是关闭调试模式才能看到效果。










