
Auf meiner Apache-Site habe ich die folgende Weiterleitung:
RewriteCond %{REQUEST_URI} !^/web/
RewriteRule ^(.*)$ /web/$1
das vom Stammverzeichnis zum Verzeichnis „Web“ weiterleitet.
Wird dies auch über die .htaccess-Datei des /web/
Verzeichnisses ausgeführt?
Antwort1
Ja, das ist möglich. (Vorausgesetzt, .htaccess
die Überschreibungen wurden für das Unterverzeichnis nicht deaktiviert.)
RewriteCond %{REQUEST_URI} !^/web/ RewriteRule ^(.*)$ /web/$1
Wenn die .htaccess
Datei im Unterverzeichnis mod_rewrite-Direktiven enthält, benötigen Sie die Direktive tatsächlich nicht RewriteCond
, da die mod_rewrite-Direktiven im Unterverzeichnis die Direktiven im übergeordneten Verzeichnis (standardmäßig) überschreiben und somit eine Neuschreibschleife verhindern.
Beachten Sie, dass in der von Ihnen geposteten Direktive ein Flag fehlt L
, sodass die Verarbeitung zunächst mit dem Rest der aktuellen .htaccess
Datei fortgesetzt wird.
Kleiner Hinweis: Dies ist strenggenommen eine „Umschreibung“, keine „Umleitung“. Obwohl die Apache-Dokumente auf „interne Umleitungen“ verweisen. Eine „Umleitung“ wird häufiger verwendet, um sich aufextern3xx-Weiterleitungen.