📅  最后修改于: 2023-12-03 14:43:46.302000             🧑  作者: Mango
在 Laravel 应用程序中,404 页面用于指示用户访问的资源不存在。 Laravel 提供了一种简便的方法来定义和自定义 404 页面。
Laravel 框架自带了一个简单但功能强大的 404 页面。当应用程序找不到请求的路由或资源时,它将自动显示。以下是该页的示例:
<!DOCTYPE html>
<html>
<head>
<title>404 Page Not Found</title>
<style>
* {
margin: 0;
padding: 0;
}
body {
font-family: Arial, sans-serif;
background-color: #f2f2f2;
text-align: center;
color: #333;
font-size: 16px;
}
.container {
max-width: 960px;
margin: 0 auto;
padding: 50px 0;
}
h1 {
font-size: 72px;
margin-bottom: 30px;
}
p {
font-size: 24px;
margin-bottom: 30px;
}
</style>
</head>
<body>
<div class="container">
<h1>404 Page Not Found</h1>
<p>The page you requested could not be found.</p>
</div>
</body>
</html>
如果您想要自定义 Laravel 404 页面,您可以轻松地创建一个视图,然后将其与 404 HTTP 响应关联起来。以下是如何完成此操作的示例。
在 resources/views/errors
目录下创建 404.blade.php
视图文件,并在其中放置自定义 404 页面的 HTML 和 CSS 代码,如下所示:
<!DOCTYPE html>
<html>
<head>
<title>404 Page Not Found</title>
<style>
* {
margin: 0;
padding: 0;
}
body {
font-family: Arial, sans-serif;
background-color: #f2f2f2;
text-align: center;
color: #333;
font-size: 16px;
}
.container {
margin: 50px auto;
max-width: 960px;
}
h1 {
font-size: 72px;
margin-bottom: 30px;
}
p {
font-size: 24px;
margin-bottom: 30px;
}
</style>
</head>
<body>
<div class="container">
<h1>404 Page Not Found</h1>
<p>We're sorry, the page you requested could not be found.</p>
</div>
</body>
</html>
app/Exceptions/Handler.php
文件中处理 404 异常打开 app/Exceptions/Handler.php
文件并将以下代码添加到 report
方法之后:
public function render($request, Exception $exception)
{
if ($this->isHttpException($exception)) {
if ($exception->getStatusCode() == 404) {
return response()->view('errors.404', [], 404);
}
}
return parent::render($request, $exception);
}
在 Laravel 应用程序中定义和自定义 404 页面非常简单。使用默认的 Laravel 404 页面对于简单的项目来说已经足够,但是对于需要更创意和个性化的页面的项目,自定义 404 页面是非常必要的。