Apache RewriteCond Abfrage der Broswersprache?

Hallo,

kann ich im Apache die Sprache des Browser abfragen und dann einen RewriteCond mit RewriteRule ausführen?
Wie sieht denn dann der Apache httpd.conf Eintrag aus?

Vielen Dank
Sutti

kann ich im Apache die Sprache des Browser abfragen und dann
einen RewriteCond mit RewriteRule ausführen?
Wie sieht denn dann der Apache httpd.conf Eintrag aus?

RewriteCond %{HTTP:Content-Language} ^en
RewriteRule …

schreibt fuer alle, die englisch als erste prioritaet angegeben haben um…

aber warum unbedingt die funktionalitaet von mod_negotiate neu erfinden?

joachim

Danke Joachim,

mod_negotiate hab ich schon gelesen aber nichts dazu gefunden, wie ich verschiedene Verzeichnisse umlenken kann.

htdocs/de/*.*
htdocs/en/*.*

Ich hab nur gefunden z.B. index.html.de und index.html.en. Aber das hilft mir nichts, da ich hunderte von Unterseiten habe.
Wenn Du meinst, dass das auch mit mod_negotiate geht, kannst Du mir dann bitte mal schreiben, was ich wie einstellen muss?

Vielen Dank

Sutti

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

da war ich wieder zu schnell mit antworten.

RewriteCond %{HTTP:Content-Language} ^en

funktioniert nicht, da es %{HTTP:Content-Language} doch gar nicht gibt, oder ?!?

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

RewriteCond %{HTTP:Content-Language} ^en

funktioniert nicht, da es %{HTTP:Content-Language} doch gar
nicht gibt, oder ?!?

naja geben tuts den schon, aber hast recht, das ist der korrespondierende http response header, der wird im request wohl nicht auftauchen. mit HTTP:Accept-Language sollte es gehen…

mod_negotiate hab ich schon gelesen aber nichts dazu gefunden,
wie ich verschiedene Verzeichnisse umlenken kann.

das ist richtig. umlenken tut mod_negotiate nicht. dafuer kann es aber intelligenter alternativen finden, wenn der user am liebsten seiten auf suaeli moechte und ansonsten noch franzoesisch und nur sehr ungern englisch liest…

du muesstest also schon deine seitenstruktur auf die benutzung von mod_negotiate einstellen, dass heist im idealfall die seiten aus den unterverzeichnissen hochmoven und gemaess sprachschema umbenennen.

htdocs/de/*.*
htdocs/en/*.*

Ich hab nur gefunden z.B. index.html.de und index.html.en.
Aber das hilft mir nichts, da ich hunderte von Unterseiten
habe.

haengt davon ab wie das bisherige url-layout war. wenn bisher z.B. DocumentRoot …htdocs/de fuer die deutsche und DocumentRoot …htdocs/en fuer die englische site galt, koenntest du einfach wie folgt vorgehen:

htdocs/de/*.html -> htdocs_new/*.html.de
htdocs/en/*.html -> htdocs_new/*.html.en

dann das DocumentRoot fuer beide sites nach htdocs_new umbiegen, Options +Multiviews setzen und vielleicht noch fuer den deutschen vhost LanguagePriority de en und fuer den englischen umgekehrt setzen.

joachim