.htaccess保护目录

时间:2017-08-28 02:37:55

标签: apache .htaccess

我需要使用一个.htpasswd保护所有目录,但使用不同的目录保护 / private 目录。

这是我的htaccess:

AuthType Basic
AuthName "restricted"
AuthUserFile /home/www/.htpasswd
Require valid-user

这种方法的问题是所有目录都需要相同的密码。我只需要为 / private 目录指定另一个。是否可以仅使用一个.htaccess文件来实现这一目标?

1 个答案:

答案 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更改为您要用于身份验证的用户名。