2017-08-28 133 views
0

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

这是我的htaccess:

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

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

回答

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