La Directory
directive Apache est-elle censée être relative à DocumentRoot ou non? Je demande dans le contexte d'un VirtualHost, mais cela ne devrait faire aucune différence.
En d'autres termes, est-il censé être:
<VirtualHost>
DocumentRoot /var/www
<Directory /var/www>
...
ou
<VirtualHost>
DocumentRoot /var/www
<Directory />
...
Les deux fonctionnent. Les documents du répertoire Apache disent:
Répertoire-chemin est soit le chemin d'accès complet à un répertoire, soit une chaîne générique ...
... mais ils montrent ensuite deux exemples contredisant la déclaration "chemin complet".
ED: Il existe également des exemples contradictoires sur la page Apache Performance Tuning dans les sections FollowSymLinks et SymLinksIfOwnerMatch et AllowOverride .
Pour le plaisir, j'ai regardé la configuration par défaut de Vhost de Debian et j'ai trouvé ceci:
<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>
...
la source
/
, pourquoi Apache sert-il le/var/www
répertoire?DocumentRoot
. LaDirectory
directive est totalement distincte et a pour effet de dire "appliquer la configuration jointe à ce répertoire et à tous les sous-répertoires". Les configurations plus spécifiques sont prioritaires, donc elles<Directory /var/www/>
seront prioritaires<Directory />
.<Directory />
partir d'un contexte VirtualHost peut remplacer les options à l'échelle du serveur (ou d'autres paramètres) de<Directory />
? Ça a du sens. Merci pour l'aide.