Umgebung: Apache 2 wird mit Mac OS X Leopard ausgeliefert; ohne große Änderungen in der Standard-httpd.conf.Verwenden von relativen URLs mit mod_rewrite
Ich richte einige Überschreibungen über meine .htaccess ein, aber ich kann keine Zielpfade relativ zum aktuellen Verzeichnis verwenden.
# URL: http://localhost/~davis/rewrite/.htaccess
# File: /Users/davis/Sites/rewrite/.htaccess
RewriteRule go.php target.php
# Not working
Ich erwarte die Regel Benutzer http://localhost/~davis/rewrite/target.php
zu umleiten. Es löst den korrekten physischen Pfad auf, gibt mir aber 404, dass der Pfad /Users/davis/Sites/rewrite/target.php
nicht existiert.
Es funktioniert alles gut, wenn ich die vollständige URL gebe.
# URL: http://localhost/~davis/rewrite/.htaccess
# File: /Users/davis/Sites/rewrite/.htaccess
RewriteRule go.php /~davis/rewrite/target.php
# Works
Fehle ich hier etwas? Alles was in der httpd.conf eingerichtet wird?
Danke!
Bearbeiten: Die relativen URLs funktionieren ordnungsgemäß auf meinem Linux-Server. In meiner lokalen Mac-Box habe ich Probleme.
Können Sie diese Lösung genauer erklären? – jnthnclrk
Standardmäßig greife ich mit der URL http: // localhost/~ davis/auf meine lokalen Websites zu, wobei davis mein Benutzername ist. Aber in diesem Setup konnte ich keine relativen RewriteRules verwenden. Was ich tat, war die DocumentRoot Einstellung in der Apache httpd.conf direkt zu ändern, um meine Seiten zu verweisen Ordner: DocumentRoot "/ Users/davis/Sites" Und das Problem dadurch gelöst. Jetzt greife ich direkt auf meine lokalen Sites unter http: // localhost/zu. Sie finden die Conf-Datei unter/etc/apache2/ Hope diese Erklärung hilft :) –