Apache / .htaccess - protège un domaine par un mot de passe, mais ajoute certains URI à sa liste blanche
-
06-07-2019 - |
Question
Alors, voici ce que j'aimerais faire:
pour accéder à http://example.com/ , il faudrait que l'utilisateur entre un nom d'utilisateur / mot de passe, sauf quand ils vont à un certain URI (par exemple, http://example.com/contact/ , http://example.com/blog/ , etc.), ils ne devraient pas avoir à s'authentifier. La http://example.com (la racine) doit également être ouverte.
Je sais que je dois établir des directives spéciales .htaccess, mais je ne sais pas exactement comment s'y prendre. Est-ce que quelqu'un sait comment je pourrais accomplir cela?
Toute aide serait très appréciée. Merci!
La solution
Pour le sous-répertoire, désactivez simplement l'authentification de base. Il semble qu'il n'y ait pas de moyen direct de le faire (par exemple via une directive "n'exige aucune"), mais vous pouvez dire que vous acceptez le contrôle d'accès basé sur l'hôte et que tout hôte peut accéder. Ce qui suit fonctionne pour moi:
<Location /foo>
AuthType Basic
AuthName Foo
AuthUserFile /tmp/passwd
require valid-user
</Location>
<Location /foo/bar>
Allow from all
Satisfy any
</Location>