- From: Alexandre Alapetite <alexandre@alapetite.net>
- Date: Mon, 21 Apr 2008 10:57:56 +0200
- To: "Etienne Miret" <elimerl@gmail.com>
- Cc: www-validator@w3.org, "Olivier Thereaux" <ot@w3.org>
Actually, just for the record, when a client does not send an Accept header at all, it has the same meaning as "Accept: */*". Furthermore, if a resource is coded for application/xhtml+xml, is should be sent as such when the Accept header is empty. Although far the full content negotiation specification, here is the Apache rule I use when I cannot use a proper content negotiation with a type-map (.var): <IfModule mod_rewrite.c> RewriteEngine On RewriteCond %{HTTP_ACCEPT} ^$ [OR] RewriteCond %{HTTP_ACCEPT} \bapplication/xhtml\+xml\b(?!(?>[^,]*?\bq=)0(?:\.0{1,3})?(?:\Z|[\s,;])) [NC] RewriteRule \.html$ - [type=application/xhtml+xml;charset=UTF-8] </IfModule> - It will serve application/xhtml+xml when the Accept header is empty (compatible with the current version of the W3C Validator, no warning). - When there is an Accept header, it will only serve application/xhtml+xml when "application/xhtml+xml" is listed and with a "q" higher than 0 (compatible with Internet Explorer, and of course Opera, Firefox, Safari, etc., but not fully correct as it does not check other q-values). A little remark: when you use this rule in combination with a content negotiation using a type-map (.var) for e.g. language negotiation, you should add text/html AND application/xhtml+xml in the .var file for it to work as expected: URI: index.fr.html Content-language: fr Content-type: text/html;qs=0.5 URI: index.fr.html Content-language: fr Content-type: application/xhtml+xml URI: index.en.html Content-language: en Content-type: text/html;qs=0.5 URI: index.en.html Content-language: en Content-type: application/xhtml+xml URI: index.en.html Content-type: text/html;qs=0.5 URI: index.en.html Content-type: application/xhtml+xml You can test it live on http://alexandre.alapetite.net/ Cordially, Alexandre Alapetite http://alexandre.alapetite.net/cv/
Received on Monday, 21 April 2008 08:58:31 UTC