404错误页面应该正确设置
相关服务器返回代码介绍:
200 客户端请求已成功响应;
301 永久重定向某个链接;
302 临时重定向到某个链接;
404 访问的页面暂时不存在。
当网站进行调整、页面进行修改的时候,便会有网页被删除、改名或移动位置,这时候,虽然相应内容的网页还存在于网站中,但使用原来的地址访问则无法访问,或者由于拼写错误导致一个无效的链接,都将使服务器返回404状态码。
但是,Web 服务器默认的404错误页面,均十分简陋、呆板且对用户不友好,无法给予用户寻找相应信息的更多线索,用户看到这类页面往往最直接的反应并是关闭浏览器窗口离开,这在很大程度上给网站造成损失。毕竟,对网站来说,用户永远是最重要的资源,以这种方式损失用户更意味着某种程度的失败。
这也是许多网站使用自定义404错误页面的原因。通过良好的自定义404 页面,可以包含对网站的相应介绍、用户可能感兴趣的内容链接或者网站内容导航链接、内容搜索功能等,能够有效地帮助访问者找到其欲寻找的内容或相似的内容,提高用户在网站内浏览更多信息的机会。
正确定义404错误页面:
1. 对于已经存在的信息由于路径改变而导致访问不了时,应该在IIS 中定义404错误指向一个动态页面,在页面里面使用301 跳转到新的地址,此时服务器返回301状态码。
2. 当访问一个错误的链接时,将调用404页面,但由于在IIS 里面设置的不同将导致返回不同的状态码:
1. 404指向的是一个htm 文件,此时页面返回的404状态码,这是正确的。
2. 404指向的是一个URL,例如 /error.asp,如果不在页面里面进行设置,仅仅是返回提示的HTML 代码,将导致页面返回200 状态码,此时的危害在于,当很多页面找不到时,都返回和访问正常页面时返回一样的200状态码,将使搜索引擎认为该链接存在,并以错误页面的内容进行收录,当这样的链接很多时,将导致大量页面重复,使网站排名降低。处理方法:在显示完提示内容后,增加语句: Response.Status="404 Not Found" ,这样就保证页面返回404状态码。
3. 避免在调用404 页面的时候返回302状态码,容易被搜索引擎认为是重定向作弊。
4. 检测方法,使用HttpWatch 查看返回代码。参见:在这个例子中,我请求的是http://www.sina.com.cn/1223.html ,新浪返回错误页面,然后5秒钟后,使用js跳转到首页。