2015-11-23 46 views
1

由於一些精彩的人在這裏堆棧溢出我使用這個腳本在dev.website.com得到了我的身份驗證工作,要求密碼:如何設置基本身份驗證部分子域名而不是其他人使用envif

SetEnvIfNoCase Host ^.*dev\.website\.com$ require_auth=true 
AuthUserFile /var/www/vhosts/website.com/.htpasswd 
AuthName "Password Protected" 
AuthType Basic 
Order Deny,Allow 
Deny from all 
Satisfy any 
Require valid-user 
Allow from env=!require_auth 

我也希望它需要密碼:myname.website.com mynamedev.website.com & devmyname.website.com。基本上只有「www.website.com」和「website.com」。

這樣做最簡單的方法是什麼?

回答

0

我還以爲你可以做以下

SetEnv require_auth=true 
SetEnvIfNoCase Host ^www\.website\.com$ require_auth=false 
SetEnvIfNoCase Host ^website\.com$ require_auth=false 
AuthUserFile /var/www/vhosts/website.com/.htpasswd 
AuthName "Password Protected" 
AuthType Basic 
Order Deny,Allow 
Deny from all 
Satisfy any 
Require valid-user 
Allow from env=!require_auth 

第一行設置默認情況下是需要認證,第二兩行是在不需要認證的具體情況。

1

Try:

#set env "auth" only for subdomains 
SetEnvIfNoCase host ^((?!www\.).+)\.website\.com$ auth=1 
#auth 
AuthUserFile /var/www/vhosts/website.com/.htpasswd 
AuthName "Password Protected" 
AuthType Basic 

#Here is where we allow/deny 
Order Deny,Allow 
Satisfy any 
Deny from all 
Require user valid-user 
Allow from env=!auth 
相關問題