- From: Sierk Bornemann <sierkb@gmx.de>
- Date: Tue, 31 Jul 2007 21:04:16 +0200
- To: Andries Louw Wolthuizen <info@andrieslouw.nl>
- Cc: www-validator@w3.org
Am 31.07.2007 um 20:35 schrieb Andries Louw Wolthuizen: > Because I don't want to send application/xhtml+xml to (older) > browsers that don't send a HTTP accept header, I've set the default > mime-type on text/html. > > My PHP script is now: > <?php > $charset = 'utf-8'; > $mime = 'text/html'; > if(!empty($_SERVER['HTTP_ACCEPT']) && stristr($_SERVER > ['HTTP_ACCEPT'],'application/xhtml+xml')){ > if(preg_match('/application\/xhtml\+xml;q=([01]|0\.\d{1,3}|1\. > 0)/i',$_SERVER['HTTP_ACCEPT'],$matches)){ > $xhtml_q = $matches[1]; > if(preg_match('/text\/html;q=q=([01]|0\.\d{1,3}|1\.0)/i', > $_SERVER['HTTP_ACCEPT'],$matches)){ > $html_q = $matches[1]; > if((float)$xhtml_q >= (float)$html_q) { > $mime = 'application/xhtml+xml'; > } > } > }else{ > $mime = 'application/xhtml+xml'; > } > } > if(stristr($_SERVER["HTTP_USER_AGENT"],"W3C_Validator") OR stristr > ($_SERVER["HTTP_USER_AGENT"],"W3C_CSS_Validator") OR stristr > ($_SERVER["HTTP_USER_AGENT"],"WDG_Validator")){ > $mime = "application/xhtml+xml"; > } > if($mime == 'application/xhtml+xml') { > $prolog_type = '<?xml version="1.0" encoding="'.$charset.'" ? > >'.PHP_EOL; > }else{ > $prolog_type = ''; > } > header('Content-Type: '.$mime.';charset='.$charset); > header('Vary: Accept'); > echo $prolog_type; > ?> And now the whole thing *WITHOUT* using a scripting language like PHP and only based on the methods and rules, a webserver like Apache provides. Not every website runs PHP... -- Sierk Bornemann email: sierkb@gmx.de WWW: http://sierkbornemann.de/
Received on Tuesday, 31 July 2007 19:04:24 UTC