sur "webmasters.stackexchange.com", j'ai déjà trouvé un sujet similaire: Arrêtez les listes de répertoires à l'aide de .htaccess et redirigez-les vers une bonne page d'erreur
Options -Indexes
ErrorDocument 403 /path/to/403.html
Cependant, je souhaite maintenant faire la distinction entre une demande de liste de répertoires émise OR si l'utilisateur tentait d'accéder à une zone protégée (via htaccess) sans succès.
Les deux tirent un 403, comment savoir quelle est la raison (la liste des répertoires ou le nom htaccess AuthName ...)?
Enfin, cela a fonctionné en insérant une ligne supplémentaire dans le .htacces du dossier protégé (appelez-le private
)
ErrorDocument 403 /forbidden-because-of-protection
et dans le root .htaccess je mets la ligne comme
ErrorDocument 403 /forbidden-because-of-directory-listing
Alors maintenant, quand il y a une requête émise comme /private/some/thing/bla
, la première règle .htaccess sera appelée - donc redirigeant vers /forbidden-because-of-protection
sinon comme si vous demandiez une liste de répertoires (donc pas dans /private
), Apache va chercher la deuxième règle.
Une demande de liste de répertoires aura une URL se terminant par /
.
Donc, http://example.com/images/
sera un 403 à cause de la liste des répertoires.
http://example.com/private/document.html
sera un 403 à cause de votre règle pour le répertoire privé.