RewriteRule Probleme

penalizer

Mitglied
Hallo liebe Forum Freunde,
ich habe ein Problem das ich schon ziemlich lange mit mir rumschleppe und einfach keine Lösung finde. Im momment benutze ich dieses RewriteRule:


Code:
RewriteEngine on
Options +FollowSymlinks
RewriteBase /Mein/Pfad
RewriteRule ^index,(.*),(.*),(.*),(.*),(.*),(.*)(\.html?)$ index\.php?lang=$1&tmp_id=$2&cont_id=$3&main_menu_id=$4&show=$5&show_sub=$6 [L]

klappt eigentlich wunderbar solange ich diese Rule in der Domain einhalte
( bspw. index,deu,1,2,3,4,5.html )

Da ich aber ein CMS habe und Modulare weiterentwicklungen daran betreibe kann es sein das ich von Bereich zu Bereich Zusatzvariablen benötige
( bspw. index,deu,1,2,3,4,5.html&news_id=12 )

Hier greift die rule nicht mehr. Wie müßte die Rule hier aussehen das er trotzdem noch weitere Variablen berücksichtigt? Vielen Dank im vorraus für Eure Hilfe.
Gruß aus Essen. Pen
 
Verwende die Flag QSA

Apache-Handbuch hat gesagt.:
qsappend|QSA' (query string append)
This flag forces the rewriting engine to append a query string part in the substitution string to the existing one instead of replacing it. Use this when you want to add more data to the query string via a rewrite rule.
 
Ja, soviel zur Theorie :rolleyes:.
Klappt leider nicht, hatte ich schon probiert. Bekomme nen Error 404. (Site liegt übrigend bei 1&1).
Wenn ich das "(\.html?)" entferne, dann geht es. Allerdings wird dann die letzte Variable in der Rule nicht mehr berücksichtigt.
 
Zuletzt bearbeitet:
Mache die Rule so:
Code:
RewriteRule ^index,(.*),(.*),(.*),(.*),(.*),(.*)(\.html?) index.php?lang=$1&tmp_id=$2&cont_id=$3&main_menu_id=$4&show=$5&show_sub=$6 [L,QSA]

...und den zusätzlichen Parameter(zumindest den ersten, falls da noch weitere geplant sind) trenne durch ein ? statt durch ein & ab...dann sollte es gehen.
 
Der reguläre Ausdruck sollte auch optimiert werden, da er doch recht allgemein ist:
Code:
RewriteRule   ^index,([^/,]+),([^/,]+),([^/,]+),([^/,]+),([^/,]+),([^/.]+)\.html?$   index.php?lang=$1&tmp_id=$2&cont_id=$3&main_menu_id=$4&show=$5&show_sub=$6 [L,QSA]
Wenn die einzelnen Teilausdrücke nur aus bestimmten Zeichen bestehen dürfen, ist es natürlich besser diese explizit anzugeben.
 
Zurück