MrSnoot: Mod Rewrite: URL automatisch ändern

Hio,

vielleicht kann mir jemand weiterhelfen. Es geht um eine dynamische URL, die beim Aufruf in der Adresszeile via RewriteRule geändert werden soll (wenn die dynamische URL bspw. von Hand eingetippt wird).

Die Adresse ist bspw. index.php?seite=meineseite und soll zu de/meineseite/ werden. Das klappt bisher mit dieser Rule:

RewriteCond %{THE_REQUEST} ^[A-Z]+\s/index\.php\?seite=([a-z]+)  
  
RewriteRule ^index\.php$ /de/%1/? [R=301]  
  
RewriteRule ^de/([a-z]+)/ index.php?seite=$1 [L]

So, nun soll aber noch aus index.php?seite=meineseite&seite2=unterseite -> de/meineseite/unterseite/ werden. Das klappt aber nicht, es wird auch hier aus der dyn. URL de/meineseite/ und die unterseite/ fehlt:

RewriteCond %{THE_REQUEST} ^[A-Z]+\s/index\.php\?seite=([a-z]+)&seite2=([a-z]+)  
  
RewriteRule ^index\.php$ /de/%1/%2/? [R=301]  
  
RewriteRule ^de/([a-z]+)/([a-z]+)/$ index.php?seite=$1&seite2=$2 [L]

Weiß jemand, was da falsch ist?

Der einzige Vorschlag bisher - der aber leider nicht funktioniert - war, die %-Zeichen durch $-Zeichen zu ersetzen.

  1. Hallo,

    also bei mir funktionierts so:

    RewriteRule ^([a-zA-Z0-9-]+)/?([a-zA-Z0-9-]+)?$ index.php?s1=$1&s2=$2&s3=$3

    1. Tritt genau der gleiche Fehler auf  :(

      1. So, jetzt hab ichs geschafft.

        Ich muss zuerst die Rule für de/meineseite/unterseite/ definieren und danach die für de/meineseite :)

        Die erste Rule fängt also sonst die zweite ab.

      2. echo $begrüßung;

        Tritt genau der gleiche Fehler auf  :(

        Welcher Fehler? Sei bitte so nett und beschreibe alles möglichst genau. Die Qualität der Anworten hängt nicht unwesentlich von der Qualität der Problembeschreibung ab.

        echo "$verabschiedung $name";