js: RedirectMatch funktioniert nicht mit Argumenten

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?

  1. 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

    --
    /voodoo.css:
    #GeorgeWBush { position:absolute; bottom:-6ft; }
    1. RedirectMatch betrachtet nur den URL-Path.

      Gibt es eine Möglichkeit, dass der Query String beachtet wird?

      1. 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

        --
        /voodoo.css:
        #GeorgeWBush { position:absolute; bottom:-6ft; }
        1. 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.