Next Post:
Previous Post:


IE8 is officially delayed with another public update in the first quarter of 2009 and that is to be followed with the actual release.

Yes, it will be a few more months of relief for some webmaster to get their sites up to par to IE8. On the flip side, it means that darn IE6 gets to hang around for a few more months.

I had my fair share of IE8 rendering issue and had decided to go for method to enable Apache server wide header to enforce IE7 rendering mode in IE8.

Microsoft did provide a series of literature for reference to configure Apache to ensure IE7 rendering mode in IE8. And are listed below:

  1. Compatibility View Introduction
  2. Emulate IE7 Rendering Mode
  3. Apache Sample Configuration

In short, for server wide (or site wide) header implementation, Apache have to be configured to use the headers module or mod_headers.

I did 2 sets of configuration depending on the Apache server that you have because the configuration given in point 3 above does not work for one of my setup.

Apache 2.2 configuration

Under Apache 2.2, which should comes with most recent linux distribution, do the following:

  • Edit httpd.conf and allow
    • “LoadModule headers_module modules/” by uncommenting.
    • Or use the a2enmod command to enable selected the header module.
  • Add the following configuration statements to httpd.conf or any other virtual host that requires that extra rendering header:

<IfModule headers_module>
Header set X-UA-Compatible: “IE=EmulateIE7″

  • Restart Apache and the extra X-UA-Compatible headers should be send with each page rendered.

Apache 2.0 configuration

From my experience, if the above does not work, or the apache version is 2.0, enable the header via the httpd.conf file and add the following configuration statements:

<IfModule mod_headers.c>
Header set X-UA-Compatible: “IE=EmulateIE7″

This above configuration should work for Apache version 1.3 as well.