After switching to Apache 2.2.1 (the unreleased version) we found MS IE could no longer access our site (which has keepalive, mod_deflate, mod_proxy, and mod_ssl). At first I thought it was a keepalive or cipher problem, but it turned out to be a problem with IE (6.0) not being able to handle compressed (mod_deflate) files other than text/ html. Does this ring a bell?

We're now using the following "IE hacks":

#
# IE hacks
# - IE 1-4 cannot handle keepalive w/ SSL, and doesn't do HTTP 1.1 well
# - all IE has problems with compression of non-html stuff (like css and js), # also make sure we vary on User-Agent if we do conditional compression
#
BrowserMatch "MSIE" ssl-unclean-shutdown gzip-only-text/html
BrowserMatch "MSIE [1-4]" nokeepalive downgrade-1.0 force-response-1.0
SetEnvIfNoCase Request_URI \.(?:js|css)$        vary-user-agent
Header append Vary User-Agent env=vary-user-agent
[...]

AddOutputFilterByType DEFLATE text/plain text/html text/xml text/ xhtml text/javascript application/x-javascript application/xhtml+xml application/xml text/css



So, my questions are:

1) Anything missing from the above config?

2) Shouldn't there be a standard "IE hacks" configuration for Apache? Maybe even a "mod_ie_hacks"?

3) Instead of matching on .js and .css in the URI, it would be great to have something more robust; is there any way to do this? (Based on content-type, or based on the fact that the content would've been compressed but wasn't because of some env variable was set.)

IE is still a pretty popular browser, it's relatively important to handle it well ;)


Rgds,
Bjorn

Reply via email to