2011-08-05 28 views
9

Tengo un subdominio específico del idioma que apunta al mismo directorio que la raíz de mi sitio. Utilizo PHP para detectarlo y mostrar el idioma..htpasswd en el subdominio específico

Deseo establecer un htpasswd solo en este subdominio. Tenga en cuenta que no hay un directorio físico específico para este subdominio. Por lo tanto, la declaración estará en el mismo htaccess que la raíz de mi sitio.

necesito htaccess para hacer esto:

if request is mysubdomain.domain.com 
AuthUserFile /www/.htpasswd 
AuthName "Locked" 
AuthType Basic 

Gracias

Respuesta

2

Esto no se ha probado, pero podría funcionar o dar pistas sobre lo que para buscar en la documentación de Apache:

SetEnvIf Host ^mysubdomain.domain.com !no-auth-required 

AuthUserFile /www/.htpasswd 
AuthName "Locked" 
AuthType Basic 
Require valid-user 
Allow env no-auth-required 
Satisfy Any 
19

Esto debería funcionar:

AuthUserFile /www/.htpasswd 
AuthName "Locked" 
AuthType Basic 
Require valid-user 

SetEnvIf Host yourdomain.com secure_content 

Order Allow,Deny 
Allow from all 
Deny from env=secure_content 

Satisfy Any 

Estaba en la misma ruta que @Anders Lindahl, pero aparentemente no hay "no" en SetEnvIf, así que tuve que cambiarlo para permitirlo a todos y denegar los que tienen el conjunto env-var.

Su solución también funciona, pero hay que SetEnv no-auth-required 1 primero y luego dejar que el! No-auth-requerido desasignarla (eso es lo que la hace !)

+0

funciona como un encanto! ¡Muchas gracias! Debería ser confirmado por el autor :) –