* Marcus Franke <[EMAIL PROTECTED]> wrote: > Ich brauche die Zahl, die in der Variablen name übergeben wird > > RewriteCond %{QUERY_STRING} ^name=([0-9]+) > RewriteRule ^altes.php$ http://www.dom.tld/pfad/$1.html [L,R=301] > > Doch, was passiert, wenn ich den URL im alten Format aufrufe? > Er wird auf www.dom.tld/pfad/.html?name=11111 umgeschrieben.. > > Als wäre in $1 nichts gefunden worden, und der Inhalt von > QUERY_STRING wird noch mal fröhlich an den neuen URL angeklebt.
Du musst %1 anstatt $1 verwenden, um auf die Referenz auf das Muster der Condition zuzugreifen. RewriteCond %{QUERY_STRING} ^name=([0-9]+) RewriteRule ^altes.php$ http://www.dom.tld/pfad/%1.html [L,R=301] > Ich habe für den regex auch schon (.*) genommen, selbes Spiel. > > Ich verstehe es einfach nicht mehr, selbst wenn ich $1 gar > nicht angebe in der RewriteRule wird mir der Inhalt von > QUERY_STRING ausgegeben. Du meinst, auch ohne Dein Zutun wird der ursprüngliche QUERY_STRING an die neue URL angehängt? Das ist normales Verhalten. Falls Du das nicht willst, siehe auch dazu die mod_rewrite Dokumentation zur Direktive "RewriteRule" ,---- Note: Query String | [...] When you want to erase an existing query string, end the | substitution string with just a question mark. [...] `---- - Sebastian -------------------------------------------------------------------------- Apache HTTP Server Mailing List "users-de" unsubscribe-Anfragen an [EMAIL PROTECTED] sonstige Anfragen an [EMAIL PROTECTED] --------------------------------------------------------------------------