Bonjour
Est-il possible dans un htaccess de sélectionner un fichier de mot de passe en fonction de l'url d'appel ?
Par exemple toto.maison.com, tutu.maison.com (différents virtual host qui pointent en partie sur le même dossier).
Merci
Bonjour
Est-il possible dans un htaccess de sélectionner un fichier de mot de passe en fonction de l'url d'appel ?
Par exemple toto.maison.com, tutu.maison.com (différents virtual host qui pointent en partie sur le même dossier).
Merci
Je ne pense pas que ce soit faisable sauf à mettre les directives AuthUserFile, etc. dans la section <VirtualHost> (éventuellement dans une sous-section <Directory> pour limiter la portée des directives).
En fait pour être un peu plus précis, j'ai un site en "marque blanche". Donc tous les virtual host pointent vers le même dossier mais il faudrait un htaccess différent (tout en accèdent aux pages en commun à tous les virtual host...)
Y a un problème : si tous les VH pointent sur le même document root, il n'y a qu'un seul .htaccess possible (car le répertoire à protéger est le même pour tous les VH). D'après la doc Apache, AuthUserFile ne peut être mis que dans des .htaccess (en dehors de tout contexte), dans des <Directory>, <Location>, <Files> ou <Proxy>. Or, aucune de ces possibilité ne s'applique à ton cas :
- <Directory> : le répertoire est le même pour tous les VH
- <Location> : le répertoire étant le même pour tous les VH, la "Location" sera la même dans tous les cas (le nom d'hôte/VH ne figure pas dans une "location", c'est la partie chemin des URL).
- <Files> : les fichiers sont communs à tous les VH
- <Proxy> : ne te concerne pas a priori
Donc je répète : le seul moyen d'y arriver à mon sens c'est d'avoir différentes sections <VirtualHost> par VH (donc pas de mass virtual hosting) et de mettre dans ces sections les directives AuthUserFile encadrées éventuellement d'un <Directory> pour préciser le répertoire à protéger.
c'est bien balo tout ça !!! mais merci pour tes réponses précises comme d'habitude .
Ceci dit, mon analyse de départ peut être fausse : je pars du principe que le document root de tes VH est le même. Donc si ce n'est pas le cas, tu dois pouvoir créer différents .htaccess. Car c'est ça la difficulté : un répertoire commun => un seul .htaccess => un seul AuthUserFile possible. Si tu peux avoir différents .htaccess, a priori c'est résolu.
En fait toutes les pages du sites sont en commun hormis le css, des fichiers de configuration base de données etc. Donc admettons si je met un htaccess sur le style, ça va bloquer que le style et non tout le site...
Bon j'ai trouvé la solution.
En fait on peut directement mettre le contenu du fichier htaccess dans le virtual host. Après il suffit donc de déclarer un fichier de mot de passe différent en fonction du virtual host. Il suffit donc de placer dans chaque virtual host :
et ça roule nikel (bon la c'est un test en local), il n'y a même plus de fichier htaccess à créer, il faut juste créer un fichier de mot de passe différent
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 <Directory "c:/wamp/www/toto"> AuthUserFile "c:/Frederic/wamp/www/toto/.htpasswd" AuthName "Acces protege" AuthType Basic <Limit GET POST> Require valid-user </Limit> </Directory>
Merci, c'est ce que je recherchais !
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager