Apache mod_rewrite - Fehler in Befehl
AllesMeins
- webserver
Hi,
ich habe ein Problem mit einem Befehl für mod_rewrite. Irgendwie scheinen das was ich will und das was ich geschrieben habe sich nicht zu decken :)
Ich will, dass eine Adresse vom Format www.domain.de/code/<beliebig>.gif?<parameter> aufgelöst wird in www.domain.de/script.php?<parameter>. Mein Versuch sieht derzeit so aus:
RewriteRule code/(.*).gif?(.*) http://www.domain.de/script.php?$2 [R]
Das funktioniert leider aber nur bedingt. Der Benutzer wird zwar korrekt auf script.php umgeleitet, aber die Parameter werden verschluckt. Man landet also immer auf www.domain.de/script.php (komischerweise nicht mal mit Fragezeichen hinten dran). Irgend eine Idee was ich falsch mache?
Grüße
Marc
hi,
Ich will, dass eine Adresse vom Format www.domain.de/code/<beliebig>.gif?<parameter> aufgelöst wird in www.domain.de/script.php?<parameter>. Mein Versuch sieht derzeit so aus:
RewriteRule code/(.*).gif?(.*) http://www.domain.de/script.php?$2 [R]
In der RewriteRule wird der Querystring nicht betrachtet.
Außerdem ist das Fragezeichen ein Sonderzeichen (Quantifier) - wenn du es also nicht in dieser Sonderbedeutung, sondern als wirkliches Fragezeichen meinen würdest, müsstest du es escapen.
Aber da wie gesagt der Querystring gar nicht betrachtet wird, lasse den Teil nach .gif (Punkt ist übrigens auch ein Sonderzeichen, escapen!) einfach weg - und nutze das Flag QSA, query string append.
Damit wird der originale Querystring an die umgeschriebene Adresse wieder angehängt.
gruß,
wahsaga