Apache-Lösung Urls vor in .htaccess suchen
-
19-08-2019 - |
Frage
Ich habe eine Rewrite-Regel in der folgenden Form:
RewriteRule ^foo/([a-zA-Z0-9]+)$ foo.php?arg=$1 [qsa,nc]
Es dauert Urls der Form /foo/bar
und ändert sie /foo.php?arg=bar
Es funktioniert lokal, und es funktioniert auf meinem alten Host, aber ich zog auf einen neuen Host (Ubuntu), und es verhält sich anders.
Auf der neuen Host Apache bemerkt, dass es eine foo.php ist und nennt es direkt. Mit anderen Worten, Urls der Form /foo/bar
als /foo.php
gesehen. Wenn ich foo.php
benennen Sie die Rewrite-Regel foo_junk.php
und ändern sein
RewriteRule ^foo/([a-zA-Z0-9]+)$ foo_junk.php?arg=$1 [qsa,nc]
Dann alles funktioniert. Es ist also nicht, dass ich nicht überschreibt aktiviert haben oder dass ich nicht mod_rewrite oder irgendetwas zu installieren. Rewrites Arbeit, sind sie nur an einem anderen Punkt im Prozess gemacht wird, um eine URL zu lösen, als sie vor Ort sind.
Gibt es eine Konfigurationsoption für das?
Lösung
Versuchen Sie deaktivieren MultiViews
:
Options -MultiViews