网站的404错误页面就是当用户输入了错误的链接时,返回的页面。当网站进行调整、页面进行修改的时候,便会有网页被删除、改名或移动位置,这时候,虽然相应内容的网页还存在于网站中,但使用原来的地址访问则无法访问,或者由于拼写错误导致一个无效的链接,都将使服务器返回 404 状态码。404错误页面的目的是:告诉浏览者其所请求的页面不存在或链接错误,同时引导用户使用网站其他页面而不是关闭窗口离开。404错误页面直接影响到用户的浏览和搜索引擎的检索、收录。
以下是百度百科的404页面:http://baike.baidu.com/error/fail

但是,Web 服务器默认的404 错误页面,均十分简陋、呆板且对用户不友好,无法给予用户寻找相应信息的更多线索,用户看到这类页面往往最直接的反应并是关闭浏览器窗口离开,这在很大程度上给网站造成损失。毕竟,对网站来说,用户永远是最重要的资源,以这种方式损失用户更意味着某种程度的失败。
这也是许多网站使用自定义 404 错误页面的原因。通过良好的自定义404 页面,可以包含对网站的相应介绍、用户可能感兴趣的内容链接或者网站内容导航链接、内容搜索功能等,能够有效地帮助访问者找到其欲寻找的内容或相似的内容,提高用户在网站内浏览更多信息的机会。
对于已经存在的信息由于路径改变而导致访问不了时,应该在IIS 中定义404 错误指向一个动态页面,在页面里面使用301 跳转到新的地址,此时服务器返回301 状态码。当访问一个错误的链接时,将调用404 页面,但由于在IIS 里面设置的不同将导致返回不同的状态码:404 指向的是一个htm 文件,此时页面返回的404 状态码,这是正确的。404 指向的是一个URL,例如 /error.asp,如果不在页面里面进行设置,仅仅是返回提示的HTML 代码,将导致页面返回200 状态码,此时的危害在于,当很多页面找不到时,都返回和访问正常页面时返回一样的200状态码,将使搜索引擎认为该链接存在,并以错误页面的内容进行收录,当这样的链接很多时,将导致大量页面重复,使网站排名降低。
处理方法:在显示完提示内容后,增加语句:Response.Status="404 Not Found" ,这样就保证页面返回404状态码。避免在调用 404 页面的时候返回302 状态码,容易被搜索引擎认为是重定向作弊。
自定义404错误页面时增强用户体验的很好的做法,但是在应用过程中往往并未注意到对搜索引擎的影响,错误的服务器端配置导致返回“200”状态码或自定义404错误页面使用Meta Refresh导致返回“302”状态码。正确设置自定义404错误页面,不仅应当能够正确的显示,同时应该返回“404”错误代码,而不是“200”或“302”。虽然对访问的用户而言,HTTP状态码究竟是“404”还是“200”来说并没有什么区别,但对搜索引擎这则是相当重要的。
搜索引擎蜘蛛在请求某个URL时得到“404”状态回应时,即知道该URL已经失效,便不再索引该页面,并向数据中心反馈给URL标识的网页从索引数据库中删除,当然删除过程可能需要很长时间;而当搜索引擎得到“200”状态码时,则会认为该URL是有效的,便会去索引,并会将其收录到索引数据库,这样的结果便是这两个不同的URL具有完全相同的内容:自定义404错误页面的内容,这会导致出现复制网页问题。












