hi,
Ich habe mir auch schon einen Testfall gebaut: Wenn Browsersprache=="de-de", gib einen Meta-Redirect [..]
Das ist ok, aber ich würde erstens keine Redirection machen und zweitens ist das an der von Dir genannten Stelle schon zu spät für das was ich machen würde (mod_rewrite). Das Engineering muss früher einsetzen, also:
Der Browser sendet einen Header Accept-Language, z.B.
Accept-Language=de-de,de;q=0.8,en-us;q=0.5,en;q=0.3
Dieser Header findet sich serverseitig in der Umgebung als
HTTP_ACCEPT_LANGUAGE
$ENV{HTTP_ACCEPT_LANGUAGE} in Perl, $_SERVER[HTTP_ACCEPT_LANGUAGE] in PHP.
Zum Einsatz der Rewrite Engine (RE) für diesen Zweck muss zum Laden einer HTML-Seite ein CGI-Prozess vorgeschaltet sein, Perl oder PHP o.ä., der wertet die Umgebung aus und kriegt dazu die angeforderte Seite in REQUEST_URI. Die RE hat nun eine Tabelle für jeden REQUEST_URI mit dem Content und der wird je nach HTTP_ACCEPT_LANGUAGE als Response ausgegeben.
Die RewriteRule könnte so aussehen:
RewriteRule ^.*.html$ /cgi-bin/load.cgi?q=html
ist also für alle .html Requests gleich wobei das Script load.cgi der Manager ist und auch mal ne Default-Seite laden kann, wenn die Sprache nicht zur Verfügung steht.
Ob Du dann noch ein flag [r=301] setzen möchtest, bleibt Dir überlassen, mein Tipp: lass es weg.
Hotti