C’est la première fois que j’essaie de travailler avec les fichiers .htpasswd et .htaccess, c’est pourquoi, je vous prie de souligner mes œuvres enfantines.
La racine de mon document Apache est définie sur /www/
sur mon serveur Debian. À l'intérieur, il y a un dossier nommé Logs/
auquel je veux restreindre l'accès à l'aide d'un htpasswd. J'ai créé mon fichier htpasswd à l'aide de la commande htpasswd du shell. Et voici le résultat:
user:<encoded password here>
hjp:<encoded password here>
hjpotter92:<encoded password here>
Je mets ce fichier nommé .htaccess
à l'intérieur de /www/
. Le Logs/
contient le fichier htaccess suivant:
AuthName "Restricted Area"
AuthType Basic
AuthUserFile /www/.htpasswd
AuthGroupFile /dev/null
require valid-user
Cela a été créé à nouveau à l'aide d'un outil en ligne (j'ai oublié son nom/lien et je ne peux pas rechercher l'historique du navigateur maintenant).
Le problème, comme vous l'avez peut-être déjà remarqué, est que l'accès au dossier Logs ne change pas. Le dossier est toujours accessible à tous. J'utilise Apache en tant qu'utilisateur root (si cela compte/aide). Aidez-moi s'il vous plaît. J'ai essayé de lire certains guides htaccess et j'ai suivi certaines des plus anciennes questions SO, mais je n'ai toujours pas trouvé de moyen de restreindre l'accès au dossier Logs avec un mot de passe.
Résolu le problème avec l'aide d'une personne que je connais. :)
Ajouté ce segment à httpd.conf:
<Directory /www/ChatLogs>
Allow from all
AuthName "Restricted Area"
AuthType Basic
AuthUserFile /www/.htpasswd
AuthGroupFile /dev/null
Require valid-user
</Directory>
Parce qu'il y a une ligne dans httpd.conf
comme suit:
AllowOverride None
Il semble que vous ayez résolu votre problème en mettant le contenu de votre fichier .htaccess dans httpd.conf.
Une autre solution aurait été de changer la ligne dans votre httpd.conf de
AllowOverride None
à
AllowOverride All