Я хочу заблокировать веб-сайт (созданный на Drupal) с помощью базовой аутентификации. Drupal использует mod_rewrite в своем файле .htaccess. Проблема, с которой я столкнулся, заключается в следующем: мой виртуальный хост выглядит так:
<VirtualHost subdomain.mydomain.com:443>
ServerName subdomain.mydomain.com
DocumentRoot /srv/http/stage/mywebsite/public_html
<Directory />
Options FollowSymLinks
AllowOverride None
</Directory>
<Directory /srv/http/stage/mywebsite/public_html>
AuthType Basic
AuthName "Basic Authentication"
AuthUserFile "/srv/http/stage/mywebsite/.htpasswd"
Options Indexes FollowSymLinks MultiViews
AllowOverride All
Order allow,deny
allow from all
require valid-user
</Directory>
</VirtualHost>
Эта настройка работает для блокировки веб-сайта, но когда я вхожу в систему, я не могу получить доступ к каким-либо путям, например: https://subdomain.mydomain.com/content/aliquam-facilisi , потому что выдают мне: "Запрещенная" ошибка. Как должна выглядеть конфигурация, чтобы заблокировать веб-сайт, но сделать его полностью функциональным после входа в систему?
Версия Apache: 2.4.7
Изменить: добавлена отсутствующая директива.
В конце концов я понял это. В логах ошибок apache2 была информация:
... не могу прочитать каталог для нескольких ...
Я решил, что это должно иметь какое-то отношение к опции «MultiViews», поэтому я отключил эту опцию на своем виртуальном хосте. Потом все заработало.