Ich möchte mod_rewrite verwenden, um hübsche URLs zu erstellen, aber ich habe eine einzige Version der .htaccess-Datei, die für jeden Benutzer auf einem Server verwendet werden kann.Wie referenziere ich das aktuelle Verzeichnis von .htaccess mit mod_rewrite?
Bisher habe ich den Standard ziemlich URL .htaccess:
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ /index.php/$1 [L]
Idealerweise würde ich etwas Ähnliches wie
RewriteRule ^(.*)$ %{URL of this file's directory}/index.php/$1 [L]
Diese Dokumentation mir, dass ich will, was zu glauben, würde dazu führen mag, ist nicht erforderlich:
Hinweis: Mustererkennung in per-Verzeichnis con text Vergessen Sie nie, dass Pattern auf eine vollständige URL in pro-Server-Konfigurationsdateien angewendet wird. In pro-Verzeichnis-Konfigurationsdateien wird jedoch das pro-Verzeichnis-Präfix (das für ein bestimmtes Verzeichnis immer gleich ist) automatisch für den Musterabgleich entfernt und nach der Ersetzung automatisch hinzugefügt. Diese Funktion ist für viele Arten des Neuschreibens von grundlegender Bedeutung - ohne das müssten Sie immer dem übergeordneten Verzeichnis entsprechen, was nicht immer möglich ist.
ich immer noch das falsche Ergebnis erhalten, obwohl, ob ich ein vor dem index.php auf dem RewriteRule führenden/setzen. Diese
,
http://server/test/stream/stream
verwandelt sich in
http://server/index.php/stream
nicht
http://server/test/index.php/stream
wenn die .htaccess-Datei in/test /.
Auch https://stackoverflow.com/q/4704508/632951 – Pacerier