特定于域的htpasswd条件

Dan*_*dor 4 dns .htaccess .htpasswd

我正在使用通配符dns系统,该系统通过单个Web应用程序路由所有子域,并根据URL的第一部分设置用户ID(X.domain.com,其中X是用户名).

我现在想要编辑我的htaccess文件以使用htpasswd为特定域启用条件httpauth.例如,如果url = password.domain.com,则启用httpauth.

我确信这是可能的,但对htaccess知之甚少.

Gnu*_*rou 6

你可以使用SetEnvIf,是Tom Schlick 在这篇文章中的一个片段.

#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
Run Code Online (Sandbox Code Playgroud)