2012-09-13 28 views
2

我有这个保护子域的.htaccess。从密码保护的子域中排除一个文件

AuthType Basic 
AuthUserFile /home/xxx/dev.xxx.com/.htpasswd 
AuthName "Dev" 
require valid-user 

如何从此保护中仅排除一个文件。 那么这个文件可能是入店无密码保护

+0

如果文件不需要保护,最好将其移动到该目录之外。 – waraker

回答

0

您可以创建保护一个密码之外的新目录,并创建一个符号链接到文件要被保护和URL分配给非保护库,而不是保护一个。

1

您可以使用Satisfy AnyAllow来实现此功能,该功能可以在不进行密码检查的情况下通过某些请求。因此,在你的htaccess文件:

SetEnvIf Request_URI ^/protected-dir/no_protect_file.php norequire_auth=true 

# Auth stuff 
AuthUserFile /home/xxx/dev.xxx.com/.htpasswd 
AuthName "Dev" 
AuthType Basic 

# Setup a deny/allow 
Order Deny,Allow 
# Deny from everyone 
Deny from all 
# except if either of these are satisfied 
Satisfy any 
# 1. a valid authenticated user 
Require valid-user 
# or 2. the "require_auth" var is NOT set 
Allow from env=norequire_auth 

如果请求的http://your.domain.com/protected-dir/no_protect_file.php制成的SetEnvIf比赛和norequire_auth环境变量设置。 auth部分检查它是否允许它通过而不需要密码。