# 404页面

目录

  简介
  404页面的目的
  错误提示
  错误原因
  1. 原因类型
  2. 解决方法
  404对seo的影响
  1. 重要程度
  2. 惩罚程度
  3. 实现良好的404页面
  4. 遵循的理念
  使用指南
  1. 实现方式
  2. 404设置方法
  如何制作404页面
  创意404页面鉴赏
  展开

## 简介

由来
据说在第三次科技革命之前，互联网的形态就是一个大型的中央数据库，这个数据库就设置在404房间里面。那时候所有的请求都是有人工手动完成的，如果在数据库中没有找到请求者所需要的文件，或者由于请求者写错了文件编号，用户就会得到一个返回信息：room 404 : file not found。后来互联网兴起后，人们也就习惯了用404作为服务器未找到文件的错误代码了。
404是W3C规定的HTTP状态码中的一种。[1]

## 404页面的目的

404页面的目的是：告诉浏览者其所请求的页面不存在或链接错误，同时引导用户使用网站其他页面而不是关闭窗口离开。
自定义404错误页面是增强用户体验的很好的做法，但在应用过程中往往并未注意到对搜索引擎的影响，譬如：错误的服务器端配置导致返回“200”状态码或自定义404错误页面使用Meta Refresh导致返回“302”状态码。正确设置的自定义404错误页面，不仅应当能够正确地显示，同时，应该返回“404”错误代码，而不是 “200”或“302”。虽然对访问的用户而言，HTTP状态码究竟是“404”还是“200”来说并没有什么区别，但对搜索引擎这则是相当重要的。[2]

## 错误提示

是WWW网站访问比较经常出现的错误。最常见的出错提示：404 NOT FOUND。404页面就是当用户输入了错误的链接时，返回的页面[3]。

## 错误原因

### 原因类型

HTTP 404 错误意味着链接指向的网页不存在，即原始网页的URL失效，这种情况经常会发生，很难避免，比如说：网页URL生成规则改变、网页文件更名或移动位置、导入链接拼写错误等，导致原来的URL地址无法访问；当Web 服务器接到类似请求时，会返回一个404 状态码，告诉浏览器要请求的资源并不存在。

404错误页面

导致这个错误的原因一般来说，有三种：
1、无法在所请求的端口上访问Web站点。
2、Web服务扩展锁定策略阻止本请求。
3、MIME映射策略阻止本请求。
[4]

### 解决方法

把缺少的网页文件恢复到正确的位置，重新设置网络服务。对于用户来讲，需要检查你所输入的网络地址是否正确。[5]

## 404对seo的影响

### 重要程度

自定义404错误页面是增强用户体验的很好的做法，但在应用过程中往往并未注意到对搜索引擎的影响，譬如：错误的服务器端配置导致返回“200”状态码或自定义404错误页面使用Meta Refresh导致返回“302”状态码。正确设置的自定义404错误页面，不仅应当能够正确地显示，同时，应该返回“404”错误代码，而不是 “200”或“302”。虽然对访问的用户而言，HTTP状态码究竟是“404”还是“200”来说并没有什么区别，但对搜索引擎这则是相当重要的。
[6]

### 惩罚程度

搜索引擎蜘蛛在请求某个URL时得到“404”状态回应时，即知道该URL已经失效，便不再索引该网页，并向数据中心反馈将该URL表示的网页从索引数据库中删除，当然，删除过程有可能需要很长时间；而当搜索引擎得到“200”状态码时，则会认为该url是有效的，便会去索引，并会将其收录到索引数据库，这样的结果便是这两个不同的url具有完全相同的内容：自定义404错误页面的内容，这会导致出现复制网页问题。轻则被搜索引擎降权，重则会K掉网站。
[6]

### 实现良好的404页面

改变服务器默认错误页面就可以达到效果。下面是一些可以使得访客轻松实现正常访问的建议。
[6]

### 遵循的理念

提供简明的问题描述，消除访客的挫败感。
提供合理的解决方案，辅助访客完成访问目标。
提供个性化的友好界面，提升访问体验。[6]

## 使用指南

### 实现方式

使得访客转到某个地方而不是后退。
页面包含该站点重要部分的链接，如主页或站点地图。不要仅仅告诉他们检查拼写。使用文本的链接替代图片，因为有许多访客不会想到点击这个图片。
例子：我们的站点有一个主页的返回链接。这是实现友好反馈的最低限度。
此外，我们还会考虑，在有效的帮助信息不足的情况下，如何通过访客的反馈弥补错误。
需要包括一个指向网站管理员的email链接，或者一个用于提交丢失链接的表格。
相对于发送email，访客更喜欢使用提交表格。
加入一个搜索框用于搜索站点。
例：MSN在所有页面的底部都有一个搜索框，同时也链向站点的重要部分。
在站点中列出接近于访客期望页面的链接，用于推测访客正在寻找的页面。
你不需要采纳上述所有的建议，但是这些建议一致服务于使得访客更愿意停留在你的站点的目的。
合理的404错误页面至此即可以完成了，这将给访客提供许多有价值的信息。
[7]

### 404设置方法

1. 对于存在的网页内容由于路径改变而导致访问不了时，可在IIS 中定义404错误指向一个动态页面，在页面里面使用301永久重定向跳转到新的地址，此时服务器返回301状态码。
2、设置404指向一个设计好的html 文件，此时页面返回的404状态码。 现在的idc提供商基本都提供404设置的功能，直接上传文件设置即可。在IIs中设置方法：打开IIS管理器-->点击要设置自定义404的网站的属性-->点击自定义错误选项-->选中404页-->选中并打开编辑属性-->设置成 URL --> URL 里填写“/err404.html”-->按确定退出再把做好的err404.html 页面上传到网站根目录下。此处在“消息类型”中一定要选择“文件”或“默认值”，而不要选择“URL”，不然，将导致返回“200”状态码。
3、404指向一个动态页面，比如error.asp,如果不在页面里面进行设置，仅仅是返回提示的HTML 代码，将导致页面返回200 状态码，这是不正确的，我们可以在显示完提示内容后，增加语句： Response.Status="404 Not Found" ，这样就保证页面返回404状态码。
4、Apache下设置404错误页面。为Apache Server设置404错误页面的方法很简单，只需在.htaccess 文件中加入如下内容即可，ErrorDocument 404 /notfound.php。[7]

## 如何制作404页面

这里分两种情况。
一、 Apache下设置404
为Apache Server设置 404错误页面的方法很简单，只需：
(1)在.htaccess 文件中加入如下内容：ErrorDocument 404 /notfound.php，将.htaccess文件上传到网站根目录。
(2)制作一个404页面，随便您设计，命名为notfound.php，同样上传到网站根目录。
注意：
（1）.切记不要将404错误转向到网站主页，否则可能会导致主页在搜索引擎中消失。
（2）.切记不要使用绝对URL，如果使用绝对URL返回的状态码是302+200。
二、 IIS/.net设置404
首先，修改应用程序根目录的设置，打开 web.config文件编辑，在其中加入如下内容：
以下为引用的内容：
<configuration>
<system.web>
<customErrors mode=On defaultRedirect=error.asp>
<error statusCode=404″ redirect=notfound.asp />
</customErrors>
</system.web>
</configuration>
注：上文例中error.asp为系统默认的404页面，notfound.asp为自定义的404页面，使用时请修改相应文件名。
然后，在自定义的404页面notfound.asp中加入：
以下为引用的内容：
<% Response.Status = 404 Not Found %>
这样，便可以保证IIS能够正确地返回404状态码.
404制作设置注意事项
1.不要将404错误转向到网站主页，否则可能会导致主页在搜索引擎中消失
2.不要使用绝对URL，如果使用绝对URL返回的状态码是302+200
3.404页面设置完成，一定要检查是否正确。但http头信息返回的一定要是404状态。这主要是对搜索引擎有关系，因为如果你网站产生较多页面时候但搜索引擎看到的是很多一样的正常页面，有可能会误被认为作弊。
4.404页面不要自动跳转，让用户来决定去向。这涉及到404页面的制作，提供用户体验很重要，404页面制作很有学问。
改进404的13个建议[7]
1、不使用专业术语
“404错误”这个词的使用一直非常规范，但这并不是你使用专业术语吓跑访客的理由。“找不到网页”这个说法相比来说更准确也更易于接受。
2、不要责备访客
你的访客很有可能是从其他网站链接或者是你网站上一个旧链接而来。看到这个错误页面并不是他们的错，所以要善待他们。撰写的措辞要充满歉意并尽量提供有益的帮助，而不是一些让访客们感到糟糕的文字。
3、提示访客检查拼写
还有一个可能：访客看到404错误页面是由于他们自己在输入URL网址时出现了拼写错误。提示访客检查他们的拼写，但不要失礼。就像我们在上面提到的，你的措辞不要让访客们感到你是在责备他们。
4、让页面返回404
每个网页都有一个服务器响应代码。 代码200是指页面一切正常，404则是指页面无法被找到。如果你已经指定了自定义的404错误页面，则需要确保页面的标题是返回正确的响应代码。有几种不同的方法可以做到这一点，最简单的就是用你的htaccess文件来指定错误页面。
5、明确表明404
清楚地向访客声明他们正在搜寻的页面无法找到，且不要让错误页面看起来与正常的内容页（如加入过多的文本和链接）太过相似。你是想要表明这是一个错误页面，所以就不要羞于向访客们声明这一点。
6、帮助访客
404错误页面已经呈现在访客面前，表明这个页面并不是他们正在搜寻的。所以你应该设法帮助他们找到原来的页面。确保你的错误页中包含一个选项来协助用户寻找他们想要的页面，甚至可以包括最近有过更改的页面的链接。
7、放置网站主页链接
不要让访客无处可去或是无法找到你的网站信息。至少应该有一个链接链回你的网站主页。这样一来，从其他网站链接而来的访客就可以了解你以及你的网站，甚至他们可能在你的网站中找到一些他们喜欢的内容。
8、访客方便反馈信息
如果访问者点击了你网站上的一个错误链接，你会想了解这个链接故障。如果通过404页面给他们提供一个反馈信息的便捷方式，让他们可以报告这个故障以便你去解决。这只需要一个非常简短的形式来提示访客告诉你他们来自哪个页面及哪个链接。通过这个方法，你可以获取到所有你需要的信息。
访客们可能依然因为无法找到他们想要的页面而感到困惑和烦恼，因此给他们一个发泄不满的地方，同时也给你一个做出回应并提供帮助的机会。这很可能会为你挽回一个潜在客户。
9、保持品牌风格
我们都看过非常酷的“让访客发现一个巨大的“复活节蛋”“的错误页面的设计案例。但千万不要使这个页面的设计与你网站的其他页面相差太大，否则会看起来这个页面不像你网站的设计，会让访客产生疑惑，误以为自己已经被带到了一个外部网站。
10、语言版本
如果你的网站是多语种的，404错误页面将从你所有语言版本的网站中获取错误信息。无论你想要显示任何信息，都需要将其翻译成各个语言版本，使每个人都能理解。同时还需提供一个链接返回到访客所对应的语言版本的网站。
11、让访客搜索想要的
如果访客正在访问的页面已被移动，你可能想给他们一个途径来搜索页面被移动到了何处，可以考虑在页面增加一个搜索框。
12、修复你的无效链接
如果你得到的数据显示有大量的访客访问您的404页面（检查你的网站的分析数据来确定数量），这表明你的网站上有很多无效链接。你完全可以通过修复这些链接来阻止访客进入404页面。像SiteBeam和Nibbler这样的网站测试工具可以帮助检查是否有无效链接，使你能够迅速找到并修复他们而不必等待别人来告诉你。
13、不要重定向到主页
一些404错误页面会立刻重定向到网站主页，这样做非常不好。你的访客不知道他们已经链接到了错误的页面，而且他们会感到困惑因为被无缘无故地链回到了网站主页。

## 创意404页面鉴赏

创意404页面在前几年就比较流行了，现在好像更受人喜爱，设计一个独特的404页面也可以让游客驻足观赏，也能让他们对网站产生好感，连404页面都做的这么精致，网站的东西肯定也不错了。

创意404页面设计(19张)
[8]
词条图册更多图册

参考资料

  - 1． HTTP 404 ．维基百科 ．2010-01-01 [引用日期2012-10-15] ．

  - 2． 404页面如何设置？都有哪些表现形式？ ．夫博科技 ．2012-11-2 [引用日期2012-11-2] ．

  - 3． 改进404的13个建议 ．594站长论坛 ．

  - 4． 访问OWA时401、403、404等错误原因分析 ．动态网站制作指南 ．2006-12-03 [引用日期2012-10-15] ．

  - 5． 404错误 ．百度 ．2012-02-06 [引用日期2012-10-15] ．

  - 6． SEO基础篇: 404错误页面 ．上海SEO潇然孤雁飞 ．2012-08-10 [引用日期2012-10-15] ．

  - 7． 如何制作一个合格的404页面 ．易龙天网 ．2012-07-20 [引用日期2012-10-15] ．

  - 8． 创意404页面欣赏 ．中国学生网 ．2010-06-29 [引用日期2012-10-15] ．

扩展阅读：
  - 1

    404页面怎么做比较好：http://www.fengxiongwell.com/post/41.html

  - 2

    http状态码大全：http://www.yedward.net/index.php/archives/132

开放分类：
  网页制作 网站优化 seo 搜索引擎 程序语言 http状态码