我正在使用通配符dns系统,该系统通过单个Web应用程序路由所有子域,并根据URL的第一部分(X.domain.com,其中X是用户名)设置用户ID。
我现在想编辑我的htaccess文件,为特定域使用htpasswd启用条件httpauth。例如如果url = password.domain.com则启用httpauth。
我确信这是可能的,但对htaccess知之甚少。
答案 0 :(得分:6)
您可以使用SetEnvIf
,这是汤姆施里克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