.htaccess 中的 mod_rewrite 和 vhost 中的基本身份验证-访问路径

.htaccess 中的 mod_rewrite 和 vhost 中的基本身份验证-访问路径

我想使用基本身份验证锁定一个网站(在 Drupal 上创建)。Drupal 在其 .htaccess 文件中使用 mod_rewrite。我面临的问题是 - 我的虚拟主机如下所示:

<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

编辑:添加了缺失的指令。

答案1

我最终弄清楚了。在 apache2 错误日志中有一条信息:

... 无法读取多个目录...

我觉得这应该与“MultiViews”选项有关,所以我在虚拟主机中禁用了此选项。然后一切开始正常工作。

相关内容