моя цель - запретить доступ к определенным подкаталогам. моя конфигурация localhost позволяет переопределить так:
<Directory />
Options FollowSymLinks
AllowOverride None
</Directory>
<Directory /var/www/>
Options Indexes FollowSymLinks MultiViews
AllowOverride All
Order allow,deny
allow from all
</Directory>
У меня также есть файл .htaccess в / var / www / с содержимым:
<Directory /var/www/*>
Order allow,deny
allow from all
</Directory>
Эти правила устанавливают доступ для всех, но мой сервер отвечает внутренней ошибкой. "cat /var/log/apache2/error.log | tail -n 10" дает:
[Thu Feb 23 12:41:09 2012] [alert] [client 127.0.0.1] /var/www/.htaccess: <Directory not allowed here"
Почему это так ? Любые ссылки на подробные руководства по этой проблеме также очень приветствуются. Спасибо.
Причина, по которой вы получаете это сообщение об ошибке, заключается в том, что <Каталог> директива действительна только в основном Server config
или Virtual Host
config и недействителен в .htaccess
файл.
Что касается того, как запретить доступ, вы можете очень просто установить разрешения для каталогов, чтобы ваш apache не мог их читать. Более сложные методы потребуют, чтобы вы указали нам, от чего вы пытаетесь запретить доступ.