Michael27: htaccess: Cookie zum Umleitung auf richtige Sprache

Hallo allerseits.
Ich benutze einen Cookie, um die aktuell eingestellte Sprache des Users zu speichern. Wenn er nun auf eine Seite kommt, die nicht auf der richtigen Sprache ist, soll automatisch auf die im Cookie eingestellte Sprache umgeleitet werden.
Dabei ist die URL immer so aufgebaut:

http://www.website.com/de/parameter/wert/parameter2/wert

Die englische Version wird analog so aufgerufen:

http://www.website.com/en/parameter/wert/parameter2/wert

Wenn ich jetzt mit englischem Cookie (lang=en) auf die deutsche Seite komme, soll umgeleitet werden. Dazu möchte ich die htaccess benutzen. Bisher habe ich das hier:

RewriteCond %{HTTP_COOKIE} lang=en  
RewriteRule ^(.*)$ http://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]

Allerdings müsste ich jetzt von der %{REQUEST_URI} die ersten 3 Zeichen abschneiden und mit /en ersetzen.
Wie kann ich das machen?

Vielen Dank im Voraus!

  1. Hi!

    RewriteRule ^(.*)$ http://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
    Allerdings müsste ich jetzt von der %{REQUEST_URI} die ersten 3 Zeichen abschneiden und mit /en ersetzen.

    Stringverarbeitung gibt es bei mod_rewrite nicht. Allerdings brauchst du die REQUEST_URI gar nicht, denn die angefragte URL steht doch auch im Suchmuster. Das gruppierst du ja schon (mit den Klammern), obwohl du die Gruppe derzeit gar nicht verwendest. Gruppiere lieber so, dass die ersten drei Zeichen nicht enthalten sind und verwende dann den Gruppeninhalt ($1).

    RewriteRule ^/de(.*)$ http://%{HTTP_HOST}/en$1 ...

    Lo!

    1. Das war eine gute Idee - Danke für Deine Hilfe!