3.3.3 Section Direktiven

Es gibt Direktiven, die in einem bestimmten Abschnitt (Section) ausgeführt werden. Eine Section-Direktive hatten wir bereits kennengelernt: <IfModule>.

Section-Direktive sind sehr wichtig, damit Einstellungen z.B. nur für ein bestimmtes Unterverzeichnis unter dem Dokumentenverzeichnis (DocumentRoot) gelten.

Eine gute Erklärung, wann welche Section-Direktiven verwendet werden, findet sich in der Apache-Dokumentation.

Es gibt eine Reihe von Section-Direktiven, die Wichtigsten sind fett dargestellt:

Section-Direktiven Beschreibung
<Directory> Spezifiziert die Eigenschaften des angegebenen Verzeichnisses und steht in direktem Bezug zu den Ablageorten der Dateien im Dateisystem.
<DirectoryMatch> Verwenden von Regulären Ausdrücken für die Angabe der Verzeichnisse.
<Files> Spezifiziert die Eigenschaften der angegebenen Dateien.
<FilesMatch> Definieren von Regulären Mustern für die Angabe der Dateien.
<IfDefine> Schließt Direktiven ein, die nur ausgeführt werden, wenn eine Testbedingung beim Start wahr ist.
<IfModule> Schließt Direktiven ein, die abhängig vom Vorhandensein oder Fehlen eines speziellen Moduls ausgeführt werden.
<Location> Ähnlich zu <Directory>, aber ohne einen direkten Bezug zum Dateisystem. Mehr dazu unter: http://httpd.apache.org/docs/2.4/de/sections.html#file-and-web.
<LocationMatch> Ähnlich zu <DirectoryMatch>, aber ohne einen direkten Bezug zum Dateisystem.
<VirtualHost> Angabe eines Bereiches für eine Domain.

Man sollte in der Konfigurationsdatei immer die obersten Verzeichnisse zuerst spezifizieren. Die Reihenfolge der Abarbeitung im Apache ist <Directory...>, <DirectoryMatch...>, <Files>, <FilesMatch...>, <Location...> sowie <LocationMatch...>.

Die verzeichnis- oder dateibezogenen Einstellungen werden in entsprechenden Bereichen angegeben. Die eingestellten Eigenschaften werden an die Unterverzeichnisse vererbt.

Es muss sehr genau darauf geachtet werden, bis zu welcher Stelle in der Konfigurations-Datei die einzelnen Abschnitte gültig sind.