.htaccess 错误文档禁用标头

.htaccess 错误文档禁用标头

我想将错误重定向到特定页面,因此我写道:

ErrorDocument 403 /error403.html

这是有效的,但是在 HTTP 响应标头中我仍然可以看到HTTP/1.1 403 Forbidden

一些浏览器(例如 IE)看到该消息后,会忽略响应中的 HTML 代码error403.html,并显示自己的页面。

有什么方法可以告诉服务器,如果ErrorDocument处理错误,它将不会包含 HTTP 错误标头?

答案1

Internet Explorer 很傻,显示它自己的自定义错误页面,而不是你的,如果您的错误页面小于 512 字节压缩. 使您的错误页面至少有 512 字节(如果您没有那么多话要说,也许可以添加一个长的 HTML 注释)。

答案2

不要这样做。这会破坏 HTTP 协议。互联网建立在这样的假设之上:服务器会给出正确的错误消息,而客户端会正确处理这些错误消息。

在这种情况下,如果你真的想让它在 IE 上看起来更好,那么使用mod_rewrite为 IE 创建一个例外。mod_rewrite 的基本速成课程可在此处找到典型的 mod_rewrite 问题。在这种情况下,您需要RewriteCond仅当 User-Agent 字符串与 IE 匹配时才触发。

相关内容