2010-03-05 61 views
4

我使用通配符dns系統,它通過單個web應用程序路由所有子域,並根據URL的第一部分(X.domain.com,其中X是用戶名)設置用戶標識。特定於域的htpasswd條件

我現在要編輯我的htaccess文件,以啓用條件httpauth使用htpasswd爲特定的域。例如如果url = password.domain.com,則啓用httpauth。

我相信這是可能的,但對htaccess的知識有限。

回答

6

您可以使用SetEnvIf,這是Tom Schlick的this post的片段。

#allows a single uri through the .htaccess password protection 
SetEnvIf Request_URI "/testing_uri$" test_uri 

#allows everything if its on a certain host 
SetEnvIf HOST "^testing.yoursite.com" testing_url 
SetEnvIf HOST "^yoursite.com" live_url 
Order Deny,Allow 

AuthName "Restricted Area" 
AuthType Basic 
AuthUserFile /path/to/your/.htpasswd 
AuthGroupFile/
Require valid-user 

#Allow valid-user 
Deny from all 
Allow from env=test_uri 
Allow from env=testing_url 
Allow from env=live_url 
Satisfy any 
+0

注URL已更改爲:http://tomschlick.com/blog/2009/11/conditional-htpasswd-multi-environments.html – Susan 2011-12-02 02:51:43

+0

現在http://tomschlick.com/2009/11/ 08/conditional-htpasswd-multi-environments/ – 2012-11-26 08:49:27

+1

\ *更新答案\ *這就是爲什麼我們避免只發布鏈接。 ([如何回答](http://meta.stackoverflow.com/help/how-to-answer)) – Jay 2014-04-16 04:30:56