style/.htaccess: geräteabhängige AnsichtDie Datei DOCUMENT_ROOT/style/.htaccess (style.htaccess) verbindet die URL /style/index.xslt, style/imgshow.xslt und /style/sitemap.xslt abhängig vom anfragenden Browser (HTTP-Header User-Agent) mit verschiedenen Dateien:
RewriteEngine On RewriteBase /style/
Wenn die Bezeichnung des Browsers das Wort Mobile enthält, wird die relative URL imgshow.xslt mit der Datei mobile.xslt (Text) verbunden, sonst mit der Datei pinw.xslt.
RewriteCond %{HTTP:User-Agent} \b[Mm]obile\b
RewriteRule ^imgshow.xslt$ mobile.xslt [S=5]
RewriteRule ^imgshow.xslt$ pinw.xslt [S=4]
Ähnlich werden die relativen URL index.xslt und sitemap.xslt umgeleitet:
RewriteCond %{HTTP:User-Agent} \b[Mm]obile\b
RewriteRule ^index.xslt$ ixmobile.xslt [S=3]
RewriteRule ^index.xslt$ ixdesk.xslt [S=2]
RewriteCond %{HTTP:User-Agent} \b[Mm]obile\b
RewriteRule ^sitemap.xslt$ smmobile.xslt [S=1]
RewriteRule ^sitemap.xslt$ smdesk.xslt
Leider läßt sich der Response-Header Vary abhängig vom Request schlecht konfigurieren. Für alle XSLT-Dateien füge ich User-Agent in den Response-Header Vary ein:
<FilesMatch "\.xslt"> Header merge Vary User-Agent </FilesMatch>