mod_rewrite-free MIME type switcheroo

Thursday, Jun 24, 2004, 00:00

I made another attempt at correcting my MIME type situation (I was serving XHTML 1.1 with a MIME type of text/html, which is wrong). There is a mod_rewrite based solution out there, but mod_rewrite is a sledgehammer, and I thought this should be possible with a lighter tool. Indeed it is:

<FilesMatch "\.s?x?html$">
    SetEnvIf Accept application/xhtml\+xml            ACCEPT_XHTML
    SetEnvIf Accept application/xhtml\+xml\s*;\s*q=0 !ACCEPT_XHTML
    SetEnvIf Request_Protocol HTTP/(0\.|1\.0)        !ACCEPT_XHTML
    Header set Content-Type "application/xhtml+xml; charset=iso-8859-15" env=ACCEPT_XHTML
</FilesMatch>

Unfortunately I currently can’t use this for lack of mod_headers on this server. :-(

Right now, I’m serving my XHTML files as application/xhtml+xml to everyone, including Internet Explorer, which breaks with this MIME type. Sigh.