2010-03-05 3 views
4

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

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

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

ответ

6

Вы можете использовать SetEnvIf, вот фрагмент от this post от 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 
+0

Обратите внимание на URL изменился на: http://tomschlick.com/blog/2009/11/conditional-htpasswd-multi-environments.html – Susan

+0

Теперь http://tomschlick.com/2009/11/ 08/conditional-htpasswd-multi-environment/ –

+1

\ * Обновленный ответ \ * вот почему мы избегаем просто публикации ссылок. ([Как ответить] (http://meta.stackoverflow.com/help/how-to-answer)) – Jay

Смежные вопросы