我有以下结构:
_auth/
->.htpasswd
website1/
website2/
website3/
.htaccess
我想在根目录中的 .htaccess 中添加一个 AuthType Basic,以便 webiste1/ 和 website2/ 需要身份验证,并且 website3/ 应该仍然可以访问。这三个网站都有自己的域名。
我试过了:
<directory "/website1">
AuthType Basic
AuthName "Protected Area"
AuthUserFile "_auth/.htpasswd"
Require valid-user
</directory>
<directory "/website2">
AuthType Basic
AuthName "Protected Area"
AuthUserFile "_auth/.htpasswd"
Require valid-user
</directory>
但它不工作
您不能在文件中使用
<Directory>
容器。.htaccess
(.htaccess
文件本身本质上是一个目录容器,目录容器不能嵌套。)假设您使用的是 Apache 2.4 并且
/website1
作为/website2
请求的 URL 路径的一部分出现,那么您可以使用 Apache 表达式。例如:
请注意,文件路径
_auth/.htpasswd
被视为相对于定义的ServerRoot。您应该以其他方式指定绝对文件系统路径,例如: