Назад | Перейти на главную страницу

mod_rewrite в .htaccess и базовая авторизация в vhost - доступ к путям

Я хочу заблокировать веб-сайт (созданный на 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», поэтому я отключил эту опцию на своем виртуальном хосте. Потом все заработало.