Специфичные для домена условия htpasswd - PullRequest
4 голосов
/ 05 марта 2010

Я использую систему подстановочных знаков dns, которая маршрутизирует все субдомены через одно веб-приложение и устанавливает идентификатор пользователя на основе первой части URL (X.domain.com, где X - имя пользователя).

Теперь я хочу отредактировать мой файл htaccess, чтобы включить условный httpauth с использованием htpasswd для определенных доменов. например если url = password.domain.com, включите httpauth.

Я уверен, что это возможно, но имеют ограниченные знания о htaccess.

1 Ответ

6 голосов
/ 19 января 2011

Вы можете использовать SetEnvIf, вот фрагмент из этого поста Тома Шлика.

#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
...