Czy Directory
dyrektywa Apache ma być względna w stosunku do DocumentRoot, czy nie? Pytam w kontekście VirtualHost, ale to nie powinno mieć znaczenia.
Innymi słowy, czy powinno to być:
<VirtualHost>
DocumentRoot /var/www
<Directory /var/www>
...
lub
<VirtualHost>
DocumentRoot /var/www
<Directory />
...
Oba działają. The Apache katalog docs powiedzieć:
Ścieżka do katalogu to pełna ścieżka do katalogu lub ciąg znaków wieloznacznych ...
... ale potem pokazują dwa przykłady zaprzeczające stwierdzeniu „pełnej ścieżki”.
ED: Istnieją również sprzeczne przykłady na stronie dostrajania wydajności Apache w sekcjach FollowSymLinks i SymLinksIfOwnerMatch i AllowOverride .
Dla zabawy spojrzałem na domyślną konfigurację vhost Debiana i znalazłem to:
<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>
...
źródło
/
, to dlaczego Apache obsługuje/var/www
katalog?DocumentRoot
.Directory
Dyrektywa jest całkowicie odrębny i ma wpływ mówiąc „zastosować konfigurację załączonego do tego katalogu i wszystkich podkatalogach”. Bardziej szczegółowe konfiguracje mają pierwszeństwo, więc<Directory /var/www/>
zostaną zastąpione<Directory />
.<Directory />
w kontekście VirtualHost można zastąpić opcje (lub inne ustawienia) dla całego serwera<Directory />
? To ma sens. Dzięki za pomoc.