Comment utiliser un mot de passe différent dans un sous-répertoire (.htaccess)

Order Deny,Allow AuthUserFile /var/www/subdirectory/.htpasswd AuthName "Authorization Required" AuthType Basic require valid-user 

^ mon fichier .htaccess.

Cependant, le répertoire parent a un mot de passe.

Je souhaite que ce répertoire ne demande qu’un seul mot de passe (même s’il demande le second mot de passe, le deuxième mot de passe peut être laissé en blanc. Malgré cela, je souhaite supprimer le second mot de passe car il est agaçant).

Si vous souhaitez que le sous-répertoire nécessite le même mot de passe que le répertoire parent, vous n’avez pas besoin du .htaccess dans le sous-répertoire.

Ou essayez-vous d’utiliser un mot de passe différent dans le sous-répertoire?

[Update:] Dans ce cas, vous devez limiter la nécessité pour le parent de ne pas inclure le sous-répertoire en question – par FilesMatch , via une directive FilesMatch . Gardez le même .htaccess de votre sous-répertoire et modifiez le parent pour inclure quelque chose comme:

  require valid-user  

(Il semble qu’il n’y ait aucun moyen de nier un regex FilesMatch, mais je peux me tromper à ce sujet.)

.htaccess s’applique à tous les fichiers et sous-dossiers. Votre fichier .htaccess avec l’arborescence suivante protégerait dir1 / index.html , dir1 / subdir1 / index.html et dir1 / subdir1 / example.html .

 - dir1 | - .htaccess | - index.html | - subdir1 | - index.html | - example.html 

Pour protéger uniquement le mot de passe sous Subir1, déplacez le fichier .htaccess dans le sous-répertoire. Avec la structure suivante, les fichiers protégés sont dir1 / subdir1 / index.html et dir1 / subdir1 / example.html

 - dir1 | - index.html | - subdir1 | - .htaccess | - index.html | - example.html 

Pour protéger un répertoire à l’aide d’un mot de passe, à l’exception d’un sous-répertoire, un fichier .htaccess supplémentaire doit être placé dans le sous-répertoire pour remplacer les options du fichier .htaccess parent.

 - dir1 | - .htaccess | - index.html | - subdir1 | - .htaccess | - index.html | - example.html 

Dans dir1 / subdir1 / .htaccess :

 Require all granted 

Alors dir1 / index.html nécessite un mot de passe, mais pas les fichiers dir1 / subdir1 / . Voir https://httpd.apache.org/docs/2.4/howto/access.html pour plus d’informations sur Require all granted .

Pour exiger un mot de passe pour le dossier parent et un mot de passe différent pour le dossier enfant:

 - dir1 | - .htaccess | - index.html | - subdir1 | - .htaccess | - index.html | - example.html 

Dans dir1 / subdir1 / .htaccess, utilisez un AuthUserFile différent ou utilisez un autre utilisateur / groupe / exigence différent:

 # Use a different list of Users for this directory AuthUserFile /var/.htpassrd_subdir1 # Or require a different user #require user subdir1User # Or use a different type of authentication altogether #AuthUserFile /var/www/subdirectory/.htdigest #AuthName "Subdir1-Realm" #AuthType Digest #require valid-user 

L’authentification ne peut pas être nestede. L’ajout d’authentification à un sous-répertoire remplacera la configuration d’authentification sur le répertoire parent. Si le dossier parent et le dossier enfant sont tous deux protégés par un mot de passe et que quelqu’un visite un fichier dans le dossier enfant, ils sont invités à entrer un seul mot de passe. le mot de passe configuré pour le dossier enfant.