IE 不正常显示 WordPress 404 错误页面

Posted by David on 2008-03-09 in Blog Related

突然发现在 IE 下面 WordPress 的 404 页面不起作用了,而 FireFox、Opera 正常。

按照微软的说法:当网站的 404 错误页面小于 512 字节时,IE 不会显示网站定义的错误页面,取而代之显示 IE 缺省的友好 HTTP 错误信息。很显然,我的 404 页面不可能小于 512 字节。既然 FireFox、Opera 都正常,那问题肯定出在 IE 身上了,我判断是 IE 解析服务器返回的 404 页面时出了问题,导致 IE 认为服务器返回的页面大小不足 512 字节,因而显示了自身的错误页面。

为了防止 UTF-8 字符集网页在 IE 上会出现显示空白问题,通常我们都会把设定字符集的 meta 标签置于 title 标签之上,所以我修改了 K2 主题,没想到反而出了问题。当我把 meta 重新置于 title 之下时,IE 又可以显示 WordPress 的 404 页面了。查看 404 页面源代码发现头部多出一个空行 (K2 模板有些书写不“规范”)来,去掉空行,404 页面又不显示了。后来又发现将 meta 重新置于 title 之上,404 页面又显示正常了。

让朋友测试,朋友表示他那里 IE 正常显示了 WordPress 的 404 页面,我更晕了。更有意思的是本机测试一切正常。至于到底是什么原因,暂时也没搞清楚。

反正我是彻彻底底被 IE 玩弄了一番。

UPDATE at 2008.3.14
发现在 WordPress 后台打开 gzip 压缩选项,404 页面居然在 IE 下显示正常了。

Tags: , , .

Comments

  1. 1 棕狐

    把下面这两句加到404页面的get_header之上就可以解决问题了

  2. 2 棕狐

    不好意思,发现好像那两句被转义了

    ‘ ‘

    使用时去掉括号

  3. 3 棕狐

    还是被转义

    《?php ob_start(); ?》
    《?php header(“HTTP/1.1 404 Not Found”); ?》

    自行把 《换成<

  4. 4 David

    @棕狐: 我已经解决了,忘记update了。Anyway, thanks!

  5. 5 流年观影

    真是太感谢楼上的,现在终于可以显示404了,呵呵

  6. 6 vino

    非常感谢 苦恼了半天这个问题

Trackbacks / Pingbacks

  1. » 让 GZIP 与 cos-html-cache 共存 - 睡到25点

Leave a Reply

You can use these XHTML tags:
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>