2007/08/07 20:01
今天至少化了我二三个小时的时间(也化了同事的好长一段测试时间)来解决这个问题。
错误现像:
Apache的VirtaulHost中的配置
ErrorDocument 404 /404.htm
404.htm这个文件有1K多,第一句是meta跳转回首页,下面是用<p> </p>等几十行拼凑而成(为了凑足512Byte)。我自己是用IE7,在开启友好错误提示的情况下,正常跳转。但是,同事的IE6就不合作了,显示“无法找到页面”!
经过了漫长的测试(测试流程就不说了,快让人抓狂了),终于知道原因了。
第一:在UltraEdit中看到的文件字节数,不表示服务器认为的文件字节数,一般来说都会少一点。如UE中看到是1500字节,很可能在服务器上认为是1300字节(通过日志来查看)。
第二:我服务器有启用deflate压缩,一般htm文件压缩率有20%~50%。我那个文件1K多,被压缩后发送到浏览器就只有400多字节了,少于512Byte,因此显示“无法找到页面”。
第三:IE7在404错误页面被压缩后少于512Byte的情况下,仍然可以正常显示。
第四:以后设置404文件要搞大一些,呵呵!
关于为何不存在的页面不使用404 网站URL,请参阅:http://www.9enjoy.com/post/165.htm
如果你想更深入的了解404错误,请参阅:http://www.itlearner.com/article/2006/3605.shtml
错误现像:
Apache的VirtaulHost中的配置
ErrorDocument 404 /404.htm
404.htm这个文件有1K多,第一句是meta跳转回首页,下面是用<p> </p>等几十行拼凑而成(为了凑足512Byte)。我自己是用IE7,在开启友好错误提示的情况下,正常跳转。但是,同事的IE6就不合作了,显示“无法找到页面”!
经过了漫长的测试(测试流程就不说了,快让人抓狂了),终于知道原因了。
第一:在UltraEdit中看到的文件字节数,不表示服务器认为的文件字节数,一般来说都会少一点。如UE中看到是1500字节,很可能在服务器上认为是1300字节(通过日志来查看)。
第二:我服务器有启用deflate压缩,一般htm文件压缩率有20%~50%。我那个文件1K多,被压缩后发送到浏览器就只有400多字节了,少于512Byte,因此显示“无法找到页面”。
第三:IE7在404错误页面被压缩后少于512Byte的情况下,仍然可以正常显示。
第四:以后设置404文件要搞大一些,呵呵!
关于为何不存在的页面不使用404 网站URL,请参阅:http://www.9enjoy.com/post/165.htm
如果你想更深入的了解404错误,请参阅:http://www.itlearner.com/article/2006/3605.shtml
2007/08/07 19:33
引用
使用XBitHack指令:
XBitHack on
XBitHack告诉Apache解析所有设置了执行位的文件中的SSI指令。这样,无需修改文件名,只要用chmod使文件变成可执行的,就可以对现有页面增加SSI指令。
chmod +x pagename.html
这里简要说明一点:偶然会有人向你推荐,无须用带.shtml的文件名,只要使Apache解析所有.html文件的SSI就可以了。那些人可能没听说过XBitHack 。要知道,这样做会使Apache在发送文件到客户端之前通读此文件,即使其中并没有任何SSI指令,从而对速度有很不利的影响,所以这并不是好办法。
来源:http://www.itlearner.com/code/apache2.2/howto/ssi.html
这种方法应该说是速度最快的。但这种方法,如果生成的文件需要包含,还要多加一句赋予它+x的权限。
相比第一种方法,我认为如果让html解析SSI,包括的文件扩展名为htm(不会去解析SSI),两者速度我觉得是一样快的!
另外,由于网站我有在本机做调试,在Windows上没有执行权限,因此还是选用第一种方法,呵呵。





