Un « htaccess » conditionnel dans apache
Cette semaine j’ai eu une demande d’un client pour protéger par mot de passe un sous-domaine par htaccess. Le problème est que le site en question est un peu spécial. Dans l’url le sous-domaine représente un paramètre pris en compte par le site.
Exemple :
subdomain1.domain.com affiche des données différentes de subdomain2.domain.com
Les 2 sous-domaines pointent vers le même répertoire (grâce à un vhost). Il m’a donc fallu trouver un moyen de faire un htaccess conditionnel en fonction de l’url saisie et plus précisément en fonction de la variable HOST d’apache.
Voici le htaccess conditionnel en question :
#allows everything if its on a certain host
SetEnvIf HOST "^subdomain1.domain.com" subdomain1
Order Deny,Allow
AuthName "Restricted area"
AuthType Basic
AuthUserFile /path/to/your/file/.htpasswd
AuthGroupFile /
Require valid-user
#Allow everyone to enter with no passord but not for people coming from subdomain1
Deny from env=macdonald
Satisfy any
Pour la suite le mode opératoire est le même que dans le cas d’une protection par mot de passe par htaccess. Il suffit de créer un login et un mot de passe dans le fichier /path/to/your/file/.htpasswd.
Pas de commentaire