RedirectMatch funktioniert nicht mit Argumenten
js
- webserver
Hallo,
wie kann ich einen Redirect von
/mypath1/index.htm?foo=2
nach
http://www.mysite.de/mypath2/index.php?bar=2
Ich habe folgendes versucht:
RedirectMatch ^/mypath1/index.htm.*foo=2$ http://www.mysite.de/mypath2/index.php?bar=2
Aber daraus wird leider ein:
http://www.mysite.de/mypath2/index.php?bar=2?foo=2
Hat jemand einen Tipp fuer mich?
hi,
wie kann ich einen Redirect von
/mypath1/index.htm?foo=2
nach
http://www.mysite.de/mypath2/index.php?bar=2
... machen?
Ich habe folgendes versucht:
RedirectMatch ^/mypath1/index.htm.*foo=2$ http://www.mysite.de/mypath2/index.php?bar=2
Aber daraus wird leider ein:
http://www.mysite.de/mypath2/index.php?bar=2?foo=2
RedirectMatch betrachtet nur den URL-Path.
gruß,
wahsaga
RedirectMatch betrachtet nur den URL-Path.
Gibt es eine Möglichkeit, dass der Query String beachtet wird?
hi,
RedirectMatch betrachtet nur den URL-Path.
Gibt es eine Möglichkeit, dass der Query String beachtet wird?
Brauchst du eine solche überhaupt?
D.h., willst du nicht alle Aufrufe von /mypath1/index.htm weiterleiten, sondern wirklich nur den einen mit dem Querystring "?foo=2"?
Wenn ja, wirst du m.E. wohl mod_rewrite bemühen müssen.
Und auch das beachtet den Querystring in den RewriteRules nicht, es müsste also eine RewriteCond vorgeschaltet werden, die ihn sich ansieht.
gruß,
wahsaga
Brauchst du eine solche überhaupt?
Ja, ansonsten hätte ich die Frage nicht gestellt.
Wenn ja, wirst du m.E. wohl mod_rewrite bemühen müssen.
Und auch das beachtet den Querystring in den RewriteRules nicht, es müsste also eine RewriteCond vorgeschaltet werden, die ihn sich ansieht.
Genau das habe ich auch getan.
<IfModule mod_rewrite.c>
RewriteEngine on
# RewriteLog /var/log/rewrite_lvl_3.log
# RewriteLogLevel 3
RewriteCond %{QUERY_STRING} ^foo=1$
RewriteRule ^/mypath1/index.htm$ http://www.mysite.de/mypath2/index.php?bar=2
</IfModule>
Es funktioniert wunderbar. Danke.