PHP Rewrite Regel klappt nicht

  • Ersteller Ersteller Mr. Snoot
  • Erstellt am Erstellt am
M

Mr. Snoot

Gast
Hio,

ich hab folgende Regel, die aus
HTML:
pr.php?bereich=x&thema=y&sprache=en
HTML:
/print/x/y/
macht.

Regel:
PHP:
RewriteRule ^print/([^/\.]*)/([^/\.]*)/$ pr.php?bereich=$1&thema=$2&sprache=en [QSA]

RewriteCond %{THE_REQUEST} ^[A-Z]+\s/pr\.php\?bereich=([a-z]+)&thema=([a-z]+)&sprache=en
RewriteRule ^pr\.php$ /print/%1/%2/? [R=301]
RewriteRule ^/print/([a-z]+)/([a-z]+)/$ pr.php?bereich=$1&thema=$2&sprache=en [L]


sprache soll aber jetzt variabel sein (nicht nur 'en', sondern 'en' oder 'de'). Aber irgendwie schaff ich das nicht, wieso klappt das ganze so nicht:

PHP:
RewriteRule ^print/([^/\.]*)/([^/\.]*)/$ pr.php?bereich=$1&thema=$2&sprache=(de|en) [QSA] # optional auch sprache=$3 getestet

RewriteCond %{THE_REQUEST} ^[A-Z]+\s/pr\.php\?bereich=([a-z]+)&thema=([a-z]+)&sprache=(de|en)
RewriteRule ^pr\.php$ /print/%1/%2/? [R=301]
RewriteRule ^/print/([a-z]+)/([a-z]+)/$ pr.php?bereich=$1&thema=$2&sprache=(de|en) [L] # optional auch sprache=$3 getestet
 
Zuletzt bearbeitet:
Also ich bin ja blutiger Laie was RewriteRules und RegEx angeht, aber fehlt nicht für deinen "/print/x/y" noch der Sprach-Code? Also "print/x/y/en" bzw. "print/x/y/de" (oder wie du es halt umsetzen willst)? Ansonsten wäre ja auch die Prüfung/Umwandlung mMn für die Katz, wenn es danach verloren geht.

(Für wahrscheinlicher halte ich aber, das ich hier vollkommen daneben liege... wie so oft wenn es um RegEx geht ^^)
 
Zurück
Oben