2012-09-13 42 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部分檢查它是否允許它通過而不需要密碼。