Это апач Directory
директива должна относиться к DocumentRoot или нет? Я спрашиваю в контексте VirtualHost, но это не должно иметь никакого значения.
Другими словами, это должно быть:
<VirtualHost>
DocumentRoot /var/www
<Directory /var/www>
...
или
<VirtualHost>
DocumentRoot /var/www
<Directory />
...
Оба работают. В Apache Каталог документы сказать:
Путь к каталогу - это либо полный путь к каталогу, либо строка с подстановочными знаками ...
... но затем они показывают два примера, противоречащих утверждению «полный путь».
ED: Также есть противоречивые примеры на Страница настройки производительности Apache в FollowSymLinks и SymLinksIfOwnerMatch и AllowOverride разделы.
Ради интереса я посмотрел на настройку виртуального хоста Debian по умолчанию и обнаружил следующее:
<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>
...
Документация верна, и <Directory>
директива должна быть полный дорожка.
Ваш первый пример заключается в том, как вы должны настроить директиву для VirtualHosts и применить параметры в директиве только к DocumentRoot
. Ваш второй пример относится к корню файловой системы (буквально /
).
Вы не опубликовали остальную часть директивы, но это обычно используется как способ попытаться заключить Apache в тюрьму и ограничить его доступ, и обычно (но не всегда) помещается внутри основного apache2.conf
или httpd.conf
файлы конфигурации, при этом ваши VirtualHosts явно разрешают доступ для своих DocumentRoot
каталоги, поэтому они часто используются вместе.
Обратите внимание, что доступ по умолчанию для <Directory /> - это разрешить любой доступ. Это означает, что Apache httpd будет обслуживать любой файл, сопоставленный с URL-адресом. Рекомендуется изменить это с помощью такого блока, как:<Directory /> Require all denied </Directory>а затем переопределите это для каталогов, которые вы хотите открыть. Увидеть Советы по безопасности страницу для более подробной информации.