404 未找到

HTTP 的 404 Not Found 客户端错误响应 状态码表明服务器无法找到请求的资源。指向 404 页面的链接通常被称为失效链接或死链接,可能会受到 链接腐烂 的影响。

404 状态码只表明资源丢失,并没有表明这是暂时的还是永久的。如果资源被永久删除,服务器应该发送 410 Gone 状态码。

网站上的 404 错误会导致用户体验不佳,因此应尽量减少失效链接(内部和外部)的数量,以防止读者感到沮丧。404 响应的常见原因是 URL 输入错误或页面移动或删除后没有重定向。有关更多信息,请参阅 HTTP 中的重定向 指南。

状态

http
404 Not Found

示例

页面未找到

获取不存在的页面可能类似于以下请求

http
GET /my-deleted-blog-post HTTP/1.1
Host: example.com

服务器返回类似于以下的响应

http
HTTP/1.1 404 Not Found
Age: 249970
Cache-Control: max-age=604800
Content-Type: text/html; charset=UTF-8
Date: Fri, 28 Jun 2024 11:40:58 GMT
Expires: Fri, 05 Jul 2024 11:40:58 GMT
Last-Modified: Tue, 25 Jun 2024 14:14:48 GMT
Server: ECAcc (nyd/D13E)
Vary: Accept-Encoding
X-Cache: 404-HIT
Content-Length: 1256

<!doctype html>
<head>
    <title>404 not found</title>
    ...

Apache 中的自定义错误页面

对于 Apache 服务器,您可以在 .htaccess 文件中指定指向自定义 404 页面的路径。以下示例使用 notfound.html 作为页面,在 404 时显示给访问者,尽管一种常见做法是在服务器的顶层命名文件为 404.html404.php(取决于服务器端技术)

apacheconf
ErrorDocument 404 /notfound.html

注意:自定义 404 页面设计适度就好。可以自由地使您的 404 页面幽默且人性化,但不要让您的访问者对他们看到意外内容的原因感到困惑。

有关自定义 404 页面的示例,请参阅 KonMari 404 页面

规范

规范
HTTP 语义
# status.404

另请参阅