XHTML is a great way forward to avoid the infamous tag soup that many web sites have deployed over the time. But for this, and as described by http://www.w3.org/TR/xhtml-media-types/#application-xhtml-xml it ought to be served as application/xhtml+xml. But some browsers do not recognize this mime-type, and for instance, IE proposes to download a page served with this mime-type instead of displaying it. Here is a solution to workaround this. On my personal web site, I serve my XHTML 1.0 as application/xhtml+xml for all user agents, except those that don't have this mime-type in their Accept header AND have text/html or */* in it. For those, it is served as text/html (which is OK, since my XHTML follows the compatibility guidelines). To do that, I use the following settings on Apache (very much inspired from http://schneegans.de/tips/apache-xhtml.html): # All my .html files are XHTML AddType application/xhtml+xml html RewriteEngine On RewriteBase / RewriteCond %{HTTP_ACCEPT} !application/xhtml\+xml RewriteCond %{HTTP_ACCEPT} (text/html|\*/\*) RewriteCond %{REQUEST_FILENAME} .*\.html RewriteRule ^.*$ - "[T=text/html,L]" (compared to the original version, it makes the right mime-type the default, and the wrong one only in some very specific cases). Among the browsers that do not recognize application/xhtml+xml, I have tested with Netscape 4.7 on Linux and IE5.5 on Windows, and they both displayed the pages correctly (e.g., they didn't ask to download the page). -- Dominique Hazaël-Massieux - http://www.nimbustier.net/Received on Wednesday, 4 December 2002 07:28:36 GMT
This archive was generated by hypermail 2.2.0+W3C-0.50 : Wednesday, 23 January 2008 09:07:58 GMT