2008-11-03 6 views
0

Alors, voici ce que je voudrais faire:Apache/.htaccess - protection par mot de passe d'un domaine, mais certaines listes blanches URIs en son sein

accès à http://example.com/ * nécessiterait l'utilisateur d'entrer un nom d'utilisateur/mot de passe, sauf si ils vont à un certain URI (par exemple http://example.com/contact/, http://example.com/blog/, etc.) ils ne devraient pas avoir à s'authentifier. http://example.com (la racine) devrait aussi être ouvert.

Je sais que je dois mettre en place 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 grandement appréciée. Merci!

Répondre

3

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 «require none»), mais vous pouvez dire que vous acceptez le contrôle d'accès basé sur l'hôte et que tout hôte peut y accéder. Les travaux suivants pour moi:

<Location /foo> 
      AuthType Basic 
      AuthName Foo 
      AuthUserFile /tmp/passwd 
      require valid-user 
    </Location> 
    <Location /foo/bar> 
      Allow from all 
      Satisfy any 
    </Location> 
+0

Merci pour la réponse! Cela semble fonctionner, mais j'ai toujours des problèmes. Je reçois une erreur 500 Server. J'ai seulement changé le chemin d'AuthUserFile. J'ai même créé un second site simple pour tester cela, en utilisant des fichiers statiques, et il était encore 500ing. Une idée de ce qui pourrait causer cela? – gabriel

+0

Si c'est la première fois que vous avez activé l'authentification de base, vous devrez probablement charger des modules Apache supplémentaires. Dans les versions récentes d'Apache, il existe un module distinct pour l'authentification par groupe et par utilisateur, que vous devez charger séparément. –

Questions connexes