So habe ich eine htaccess-Datei in einem Unterverzeichnis und jedes Mal, wenn ich versuche, die URL neu zu schreiben, leitet es zum document_root und nicht das Unterverzeichnis, wo der htaccess residiert. Unter normalen Umständen würde ich es jetzt mit dem Pfad zum Unterverzeichnis mit path/to/subdirectory
umschreiben, aber ich werde nicht wissen, wie der genaue Pfad sein wird. Gibt es auch einen Weg, durch eine Apache-Umgebungsvariable oder etwas anderes, diesen Pfad zu schreiben?.htaccess und neu schreiben von Unterverzeichnissen in unbekanntes übergeordnetes Verzeichnis
Bearbeiten: Hier ist die .htaccess
Datei so weit.
RewriteEngine On
RewriteBase/
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
#RewriteRule (.*-file) a/b/c/$1.file
RewriteRule (.*-file) $1.file
Also, ich versuche zu, wenn die Anfrage das Wort file
enthält, möchte ich vor der Word-Datei die gesamte Anforderung entsprechen und dort umgeleitet werden. Dies ist so, dass, wenn eine Anfrage an
example.com/a/b/c/file[any characters here].file
die Anfrage wird an die richtige Datei umgeleitet wird. Das Problem ist, dass ich versuche, innerhalb des Unterverzeichnisses umzuleiten. Wenn ich "Rewrite $ 1" sage, möchte ich, dass die gesamte Anfrage einbezogen wird und nicht nur, was im REQUEST_FILENAME übereinstimmt. Und der Grund, warum ich es brauche, ist, weil ich a/b/c/$1.file
nicht einfach setzen kann, da ich den absoluten a/b/c
Teil für die absolute Sicherheit nicht wissen werde.
Edit 2: Beispiele: So ist ein Beispiel, dass ich eine Anfrage wie senden würde:
example.com/a/b/c/fileacs.file
Und will umleiten zu:
example.com/a/b/c/file.file
Wo ich weiß nicht,/b/c /. Ich habe eine tatsächliche Regex und eine Reihe von Regeln für den realen Gebrauch dieser Umleitung, also kümmern Sie sich nicht um die lächerliche Natur dieses Beispiels.
Aber zur Zeit es Umleitung zu:
example.com/file.file
die es nicht gibt und selbst wenn es tat, ich will dort nicht umleiten. Ich habe über Rewrite Context gelesen, kann aber nichts Wesentliches darüber herausfinden, auch wenn es der Grund dafür ist. Vielen Dank im Voraus.
Können Sie Ihren .htaccess zeigen? – anubhava
@anubhava Ich müsste zu Hause sein, aber ich werde sicher meinen Hauptbeitrag bearbeiten, um zu zeigen, was ich bis jetzt sicher habe. –
@anubhava Ich habe den Beitrag bearbeitet, um Klarheit und Kontext hinzuzufügen. –