我目前正在升级到 Apache 2.4。
现在让我困惑的是,如何仅使用 .htaccess 创建公共子目录。外部目录受以下保护:AuthType Basic
以前,该目录包含以下 .htaccess:
Satisfy Any
Allow from all
我不知道如何在 Apache 2.4 中重现此问题。我尝试了以下任意组合,但都没有成功:
AuthType None
Require all granted
AuthMerging Or
答案1
我在这里测试过,它对我有用。检查.htaccess
每个目录是否正在读取文件;也许可以暂时在子目录上启用不同的身份验证,AuthName
以便您可以验证。
以下是我的设置,希望对您有用。启用身份验证的目录是authtest
;其子目录noauth
已禁用身份验证。
$ /usr/sbin/apache2 -v
Server version: Apache/2.4.7 (Debian)
Server built: Jan 2 2014 01:47:52
$ cat /etc/apache2/conf-enabled/allow-htaccess-authtest.conf
<Directory /var/www/html/authtest>
AllowOverride AuthConfig
</Directory>
$ cat /var/www/html/authtest/.htaccess
AuthType Basic
AuthName "ahoy hoy"
AuthUserFile /home/fission/htpasswd
Require valid-user
$ cat /var/www/html/authtest/noauth/.htaccess
AuthType None
Require all granted
该语法直接取自Apache 文档mod_authn_core