Christian Kruse: Problem mit mod_rewrite und RewriteCond

Beitrag lesen

Hallo Heizer,

RewriteEngine On
RewriteCond %{QUERY_STRING} ^edit$
RewriteRule /(.) /edit?$0

Das funktioniert aber nicht, und es liegt nicht an der
RewriteRule, wenn ich die RewriteCond auskommentiere,
funktionierts. wenn ich statt  ^edit$   ^.*$  verwende, klappt
es auch, aber bei  ^.+$  nicht. Es sieht also so aus, als
wenn %{QUERY_STRING} lehr wäre, wenn ich die Variable aber an die
letzdendliche URL anhänge [ /edit?$0(%{QUERY_STRING}) ], so wird
"edit" angezeigt.

Ich glaube, du hast das mit den Variablen noch nicht so recht
verstanden: es gibt kein $0 :-) Du meinst sicher $1. Das gibt es
durchaus. Weiterhin solltest du noch einen Quantifier verwenden,
also aus der RewriteRule lieber das hier machen:

RewriteRule /?(.+) /edit?$1

Weiterhin kannst du in der RewriteCond statt %{QUERY_STRING}
mal %{ENV:QUERY_STRING} verwenden, vielleicht klappt das ja besser.
Wenn das auch nicht klappt, verwende %{REQUEST_URI} folgendermassen:

RewriteCond %{REQUEST_URI} ?edit$

Grüße,
 CK

--
Nur die Weisesten und die Dümmsten können sich nicht ändern.
http://wwwtech.de/