欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

【转载】关于自定义404错误页面不生效的问题 博客分类: java web 404  

程序员文章站 2024-03-07 23:35:05
...

转自 http://www.chinaz.com/web/2009/0727/84348.shtml 

 

 

无意中在SEO优化站中看到设置自定义网站404错误页面对搜索引擎收录影响的文章。
然后在服务器端设置了404错误页面为网站根目录下的404.html。

在这个404.html文件中写了网页跳转到首页的语句。
但是,在IE地址栏中输入一个不存在的地址:http://www.luoyejie.cn/msn
页面没跳转,仍然显示的是IE的默认错误页面,自定义的404错误页面没有生效。
然后习惯性的打开火狐浏览器输入一个不存在的地址http://www.luoyejie.cn/msn
跳转到首页了,自定义404错误页面跳转成功。
果然是IE的问题,我仔细查看了404页面代码,没有发现任何问题。

于是查阅了相关资料,终于找到问题所在了。
以下是修改前自定义404错误页面的HTML源码:

 

以下是代码片段:
<html> 
<head> 
<title>落叶街 - 学习与分享</title> 
<meta name="keywords" content="网站建设,网页美工,网络安全,软硬知识,编程开发,操作系统"> 
<meta name="description" content="内含落叶街站长精心搜集的技术资料,去精取粕."> 
<meta name="robots" content="all"> 
<script language="javascript">     
<!--      
location.replace("http://www.luoyejie.cn");     
-->     
</script>    
</head> 
<body> 
对不起,您访问的页面不存在,正在跳转到首页... 
</body> 
</html> 

 

以下是修改后自定义404错误页面的HTML源码:

 

以下是代码片段:
<html> 
<head> 
<title>落叶街 - 学习与分享</title> 
<meta name="keywords" content="网站建设,网页美工,网络安全,软硬知识,编程开发,操作系统"> 
<meta name="description" content="内含落叶街站长精心搜集的技术资料,去精取粕."> 
<meta name="robots" content="all"> 
<script language="javascript">     
<!--      
location.replace("http://www.luoyejie.cn");     
-->     
</script>    
</head> 
<body> 
对不起,您访问的页面不存在,正在跳转到首页... 
<BR>有任何疑问请联系站长。<BR> 
<A href="mailto:@163.com">点击这里给站长发送邮件。</a> 
</body> 
</html> 

 

对比下上面的两段代码,可以发现下面多了两行字,但是就是这两行字解决了问题.
微软E文站上关于这个问题的解释是这样的:

 

以下是引用片段:
IE Warning: 
IE looks at the size of the 404 file to decide whether or not to display its own error instead. Your custom error file must be larger than 512 bytes in size, or IE will not display it. Make sure that the size of your custom error file is greater than 512 bytes. If necessary, add a graphic file to increase the size. 

 

以上一段E文说的意思大约是:
ie浏览器有一个特殊的限制,如果自定义页面小于512字节,就不会显示这个自定义的错误页面,而是显示那个默认的404错误页面。
之前没有加那两行字的文件大小是447B,加上之后为621B,问题解决。
PS:关于404错误页面在服务器端设置的问题请查阅相关文章。