gespeichert Ich kann nicht herausfinden, warum die unten nichtApache ModRewrite Muster nicht
RewriteCond ${foobar:test:$1}^
RewriteRule ^/?(.*)$ /check.php?url=$1 [L]
foobar
ist ein Programm (einfache Bash-Skript) funktioniert und aus ihm Ich schreibe, um zu sehen, was die Datei Eingabe ist. check.php
ist ein einfaches PHP-Skript, das den Inhalt von GET
anzeigt. Hier ist, was ich bekomme, wenn ich den regulären Ausdruck ($1
) sowohl mit dem Shell-Skript und dem PHP-Skript übergeben:
url check.php foobar
www.example.com/index.html index.html test:
www.example.com/index.php index.php test:
www.example.com/test.html test.html test:
im Grunde wird das Muster innerhalb der RewriteRule erkannt, aber nicht um den Parameter foobar.
Hinweis: Mit dem Shell-Skript ist nichts falsch. Wenn stattdessen ich es wie so ${foobar:test:abc123}
nennen, ist der Ausgang „test:abc123
“