* 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]
--------------------------------------------------------------------------