Exclure un dossier dans le répertoire protégé htaccess
J'ai un répertoire protégé par htaccess. Voici le code que j'utilise actuellement:
AuthName "Test Area"
Require valid-user
AuthUserFile "/***/.htpasswd"
AuthType basic
Cela fonctionne bien. Cependant, j'ai maintenant un répertoire à l'intérieur de ce dossier que je voudrais permettre à quiconque d'accéder, mais je ne suis pas sûr de savoir comment faire.
Je sais qu'il est possible de simplement déplacer les fichiers en dehors du répertoire protégé, mais pour faire une histoire courte, le dossier doit rester à l'intérieur du dossier protégé, mais être accessible à tous.
Comment puis-je restreindre l'accès au dossier, mais de permettre l'accès au sous-dossier?
source d'informationauteur Sherwin Flight
Vous devez vous connecter pour publier un commentaire.
Selon cet article vous pouvez accomplir cela en utilisant
SetEnvIf
. Vous correspondre à chacun des dossiers et fichiers que vous voulez grand accès et de définir une variable d'environnement "autoriser" pour eux. Ensuite, vous ajoutez une condition qui permet l'accès si cette variable d'environnement est présent.Vous avez besoin d'ajouter les directives suivantes à votre .htaccess.
Il suffit de créer un .htaccess dans le sous-répertoire avec le contenu:
Satisfy any
Accepté la réponse ne semble pas bien fonctionner avec les nouvelles Versions d'Apache, car il a cessé de travailler dès que Apache Mises à jour ont été réalisés sur certains de mes clients des serveurs.
Je recommande l'approche suivante:
Il n'est pas nécessaire de créer un .htaccess dans le sous-répertoire.
Il suffit de créer autant de variables que vous le souhaitez avec SetEnvIf directive, et être sûr que le fichier ou le nom de chemin d'accès que vous souhaitez allw/refuser est une partie de l'URI de la regex que vous passez à SetEnvIfexactement comme @Sumurai8 dit, mais les regex pour s'adapter à vos besoins, pour l'URI doit démarrer/fin/contenir un ensemble de caractères............