htaccess: Unterordner ausschließen/ignorieren

Eine htaccess-Datei gilt immer automatisch auch für alle Unterordner.

Änderungen in der .htaccess-Datei treten sofort in Kraft. In diesen Dateien vorgenommene Einstellungen gelten im Gegensatz zu zentralen Konfigurationsdateien (z. B. httpd.conf) nur für das Verzeichnis, in dem sie gespeichert sind, sowie allen Unterverzeichnissen. Sie können in den Unterverzeichnissen jedoch wieder überschrieben werden.

(http://de.wikipedia.org/wiki/Htaccess)

Möchte man für einen Unterordner (z.B. “stats”, “usage”, “statistik”) extra Regel aufstellen, bzw. sämtliche in der htaccess-Datei festgelegten Regeln aufheben, so gibt es zwei Möglichkeiten:

1. Eine neue htacess-Datei erstellen, die sämtliche Regeln aufhebt:
Order Deny,Allow
Allow From All
Satisfy Any

2. In der Datei im Stammverzeichnis eine Condition einfügen, die festlegt, dass eine Anweisung nicht für alle Unterordner gilt:
RewriteCond %{REQUEST_URI} !^/(ordner1|unterverzeichnis2|ordner3)
RewriteRule ^/index.php/.* /start.php [R=301]

[1. Zeile fragt ab, die aufgerufene URL nicht einen der gelisteten Ordner enthält
2. Falls der Ordner nicht vorkommt, greift RewriteRule (in diesem Beispiel 301-Weiterleitung zu start.php)]

Möchtest Du antworten?