Soll die Apache- Directory
Direktive relativ zum DocumentRoot sein oder nicht? Ich frage im Rahmen eines VirtualHost, aber es sollte keinen Unterschied machen.
Mit anderen Worten, soll es sein:
<VirtualHost>
DocumentRoot /var/www
<Directory /var/www>
...
oder
<VirtualHost>
DocumentRoot /var/www
<Directory />
...
Beide arbeiten. In den Apache Directory- Dokumenten heißt es:
Verzeichnispfad ist entweder der vollständige Pfad zu einem Verzeichnis oder eine Platzhalterzeichenfolge ...
... aber dann zeigen sie zwei Beispiele, die der Aussage "vollständiger Pfad" widersprechen.
ED: Es gibt auch widersprüchliche Beispiele auf der Seite Apache Performance Tuning in den Abschnitten FollowSymLinks und SymLinksIfOwnerMatch und AllowOverride .
Zum Spaß habe ich mir Debians vhost-Standardsetup angesehen und Folgendes gefunden:
<VirtualHost *:80>
DocumentRoot /var/www
<Directory />
Options FollowSymLinks
AllowOverride None
</Directory>
<Directory /var/www/>
Options Indexes FollowSymLinks MultiViews
AllowOverride None
Order allow,deny
allow from all
</Directory>
...
quelle
/
, warum bedient Apache dann das/var/www
Verzeichnis?DocumentRoot
. DieDirectory
Direktive ist völlig unabhängig und hat den Effekt, dass "die beigefügte Konfiguration auf dieses Verzeichnis und alle Unterverzeichnisse angewendet wird". Spezifischere Konfigurationen haben Priorität, werden also<Directory /var/www/>
außer Kraft gesetzt<Directory />
.<Directory />
aus einem VirtualHost-Kontext können serverweite Optionen (oder andere Einstellungen) von überschreiben<Directory />
? Das macht Sinn. Danke für die Hilfe.