我需要使用一个.htpasswd保护所有目录,但使用不同的目录保护 / private 目录。
这是我的htaccess:
AuthType Basic
AuthName "restricted"
AuthUserFile /home/www/.htpasswd
Require valid-user
这种方法的问题是所有目录都需要相同的密码。我只需要为 / private 目录指定另一个。是否可以仅使用一个.htaccess文件来实现这一目标?
答案 0 :(得分:0)
执行此操作的最佳方法是使用<FilesMatch>
指令。因此,如果文件与private.html
匹配,则它将使用此不同的身份验证。
<FilesMatch "private.html">
AuthName "Member Only"
AuthType Basic
AuthUserFile /home/username/.htpasswd
require user admin
</FilesMatch>
您还会注意到我使用了require user admin
代替require valid-user
。我之所以这样做是因为它将其限制为只知道登录用户管理员访问/private/
目录的人。
只需将admin
更改为您要用于身份验证的用户名。