Aktiviert eine .htaccess-Weiterleitung zu einem anderen Ordner die zweite .htaccess darin?

Aktiviert eine .htaccess-Weiterleitung zu einem anderen Ordner die zweite .htaccess darin?

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, .htaccessdie Überschreibungen wurden für das Unterverzeichnis nicht deaktiviert.)

RewriteCond %{REQUEST_URI} !^/web/
RewriteRule ^(.*)$ /web/$1

Wenn die .htaccessDatei 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 .htaccessDatei 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.

verwandte Informationen