J'ai protégé par mot de passe l'ensemble de mon site Web en utilisant .htaccess
mais je voudrais exposer l'un des sous-répertoires afin qu'il puisse être consulté sans mot de passe.
Comment puis-je désactiver la protection par mot de passe htaccess pour un sous-répertoire? Plus précisément, quelle est la .htaccess
syntaxe.
Voici mon .htaccess
fichier qui est placé à la racine de mon ftp.
AuthName "Administratrion du site" AuthUserFile /dir/.htpasswd AuthGroupFile / dev / null AuthName sécurisé AuthType Basic nécessite un nom d'utilisateur1 ordre autoriser, refuser permettre à tous
Réponses:
Vous devez créer un nouveau
.htaccess
fichier dans le répertoire requis et y inclure laSatisfy any
directive comme ceci, jusqu'à Apache 2.3:La syntaxe a changé dans Apache 2.4, cela a le même effet:
la source
Allow from all
nonSatisfy Any
.thanks
Satisfy Any
travaille et il a été mal orthographié commeSatisify Any
. C'est peut-être la raison pour laquelle cela n'a pas fonctionné pour vous.Ajoutant à la réponse de RageZ, j'ai utilisé ceci dans les directives serveur:
Impressionnant. Merci RageZ!
la source
Créez simplement un nouveau
.htaccess
dans le sous-répertoire souhaité avec cette directive:Allow from all
Vous pouvez restreindre votre adresse IP uniquement avec:
Allow from x.x.x.x
Voir: http://httpd.apache.org/docs/current/mod/mod_access_compat.html
la source
Vous devez ajouter un autre fichier .htaccess au sous-répertoire qui remplace l'authentification. .htaccess cascades vers le haut, c'est-à-dire qu'il cherchera dans le dossier courant, puis montera d'un niveau et ainsi de suite.
la source
Voici un moyen d'autoriser le sous-répertoire "foo" via l'authentification de base à partir du fichier .htaccess principal sur un site:
Remarque: cela fonctionne dans Apache 2.4. Je n'ai pas confirmé pour les versions antérieures.
la source
Si vous souhaitez empêcher toute direction spécifique de l'authentification htaccess, vous pouvez utiliser le code suivant dans votre fichier htaccess en haut.
AuthType Basic AuthName "Enter Pass" AuthUserFile /home/public_html/.htpasswd /*PATH TO YOUR .htpasswd FILE*/ Require valid-user SetEnvIf Request_URI "(/DIRECTORY_NAME/)$" allow Order allow,deny Allow from env=allow
Aussi, si vous souhaitez empêcher plusieurs répertoires, ajoutez
SetEnvIf Request_URI "(/DIRECTORY_NAME/)$" allow
autant de fois que de répertoires, vous souhaitez supprimer de la prévention htaccess.
la source