Как можно запретить доступ ко всем подкаталогам данного каталога?(При этом позволяя вручную изменять права доступа для отдельных элементов в дереве каталогов.)
Я попытался сделать это с помощью директив <Directory(Match)>
.Конфигурация сервера (с поддержкой 000 сайтов) выглядит следующим образом:
DocumentRoot /var/www
<Directory /var/www>
Allow from all
Deny from none
Order deny,allow
</Directory>
<Directory /var/www/*>
Deny from all
</Directory>
Запрос к http://localhost/
успешно отображает /var/www/index.html
, и все запросы к любым подкаталогам не выполняются.
Проблемаis: любой запрос к файлу в httproot завершается неудачей - т.е. запрос http://localhost/index.html
приведет к 403 Forbidden
.
Директивы <Directory(Match)>
, похоже, действительно соответствуют каталогам И файлам!?
Чтобы проверить, правда ли это, я попытался:
<Directory /var/www/i*>
Deny from all
</Directory>
Это запрещает доступ только к файлам / каталогам, начинающимся с 'i'.
Есть ли способ изменить это поведение и позволить <Directory>
соответствуют только каталоги?Есть ли другой способ добиться того, что все подкаталоги запрещены?(кроме того, чтобы запретить их все вручную или включить все файлы вручную)