92 votes

Comment supprimer la protection par mot de passe du fichier .htaccess d'un sous-répertoire ?

J'ai protégé l'ensemble de mon site Web par un mot de passe à l'aide du fichier .htaccess, mais je souhaiterais exposer l'un des sous-répertoires afin qu'il puisse être consulté sans mot de passe.

Comment désactiver la protection par mot de passe htaccess pour un sous-répertoire ? Plus précisément, quelle est la syntaxe du fichier .htaccess ?

Voici mon fichier .htaccess qui est placé à la racine de mon ftp.

AuthName "Site Administratrion"
AuthUserFile /dir/.htpasswd
AuthGroupFile /dev/null

AuthName secure
AuthType Basic
require user username1
order allow,deny
allow from all

146voto

RageZ Points 15212

Vous devez créer un nouveau .htaccess dans le répertoire requis et inclure le fichier Satisfy any de la manière suivante :

# allows any user to see this directory
Satisfy Any

34voto

atonyc Points 762

En complément de la réponse de RageZ, j'ai utilisé ceci dans les directives du serveur :

<Directory /var/www/protected/>
     AuthType Basic
     AuthName "Production"
     AuthUserFile /path/to/.htpasswd
     Require valid-user
</Directory>

<Directory /var/www/protected/unprotected>
     Satisfy Any
</Directory>

Génial. Merci RageZ !

8voto

Paul Rad Points 2264

Il suffit de créer un nouveau .htaccess dans le sous-répertoire souhaité avec cette directive :

Allow from all

Vous pouvez restreindre à votre IP seulement avec :

Allow from x.x.x.x

Voir : http://httpd.apache.org/docs/current/mod/mod_access_compat.html

2voto

PeterA Points 545

Voici un moyen d'autoriser le sous-répertoire "foo" à travers l'authentification de base à partir du fichier principal .htaccess sur un site :

AuthType Basic
AuthName "Password Required"
AuthUserFile /dir/.htpasswd
Require expr %{REQUEST_URI} =~ m#^/foo/#
Require valid-user

Note : Ceci fonctionne avec Apache 2.4. Je n'ai pas confirmé pour les versions antérieures.

1voto

Steve Fenton Points 55265

Vous devez ajouter un autre fichier .htaccess au sous-répertoire qui remplace l'authentification. Le fichier .htaccess s'exécute en cascade vers le haut, c'est-à-dire qu'il examine le dossier actuel, puis remonte d'un niveau et ainsi de suite.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X