Peter Kaufmann: RewriteRule für Verzeichnis

Beitrag lesen

Hallo alle,

nach langer Abstinenz melde ich mich noch einmal mit einem Problem zu rewrite rules. Um das Problem an für sich zu erklären hohle ich mal etwas aus.

Ich möchte eine zweisprachige Webseite bauen und benutze für die Sprachwahl das Apache Modul MultiViews. Für die User, die eine falsche Spracheinstellung haben (was meiner Erfahrung nach relativ viele sind), möchte ich auf jede Seite einen Link zu der anderen Sprachversion setzen. Damit die Sprache aber nur einmal manuell gewählt werden muss, möchte ich aber nicht z.B. einfach auf "seite.html.en" verweisen sondern auf "en/seite.html" und das Postfix ".en" per RewriteRule ergänzen (das hat den Vorteil, daß der User bei relativen Links in der englischen Version bleibt auch wenn er DE als Sprache im Browser gewählt hat). Soweit klappt das auch ganz gut.

Ein Problem habe ich aber in dem Moment wenn es um ein Verzeichnis geht, etwa "example.org/en/mitarbeiter". Um in meinem Muster zu bleiben müsste ich ein rewrite auf "example.org/mitarbeiter/index.html.en" machen (index.html ist mein default DirectoryIndex). Leider komme ich nicht darauf wie die RewriteRule für diesen Fall aussehen muss. Hat jemand eine Idee?

Bisher habe ich:

.htaccess in example.org/tmp/test

Options +MultiViews
RewriteEngine on

RewriteBase   /tmp/test
RewriteRule de/(.+[^/]) $1.de [L]
RewriteRule en/(.+[^/]) $1.en [L]

Grüße,

Peter

--
exp(i * PI) + 1 = 0