.htaccess : interdire l'acces a un ensemble de repertoire

Nouveau WRInaute
Bonjour,

voila mon probleme:
J'ai un site qui a une arborescence de ce genre :

galeries/machin/grand
galeries/truc/grand
galeries/chose/grand

et j'aimerais interdire l'acces a tout les sous repertoire "grand" de n'importe quel sous repertoire de galeries sans avoir a mettre un .htaccess dans chaque repertoire "grand".

Bref, j'aimerais un seul .htaccess dans galeries par exemple.

Mon hebergeur accepte les .htaccess

J'ai essayé divers trucs comme :
<Files grand/*.*>
Order Deny,Allow
Deny from All
</Files>

ou

<Directory ~"*/grand">
Order Deny,Allow
Deny from All
</Directory>

ou encore avec <DirectoryMatch>, mais apparament rien ne marche...
Est-ce que c'est parce que j'indique toujours un chemin "relatif" dans Directory ou DirectoryMatch ? Y a t'il une autre directive htaccess ?

Si c'etait possible, je preferais une solution relative qu'une designation absolue de mes repertoires...

Fladnag
 
WRInaute occasionnel
Les directives Directory , DirectoryMatch , Location et LocationMatch (celle qui serait bien utile dans ce cas) ne peuvent être utilisées que dans un contexte de conf serveur ou d'hôte virtuel, donc pas dans un .htaccess. Restent Files et FilesMatch, qui ne portent malheureusement que sur le nom de fichier. On oublie aussi.

Heureusement, il reste l'URL Rewriting :)

Normalement, si j'ai bien suivi ce que tu veux, ca devrait faire l'affaire :

RewriteEngine On
Options +FollowSymLinks
RewriteRule /grand/ - [F]

Ce renvoie une erreur 403 quand un sous-répertoire grand est rencontré.
 
WRInaute impliqué
Le rewriting est effectivement une solution mais le plus logique et le plus optimisé (en terme de vitesse d'exécution) serait de placer un htaccess dans chaque répertoire 'grand'. Et en plus tu peux mettre un accès sélectif, par mot de passe...
Mais bon, si tu tu ne veux pas, il faut faire du rewriting...
 
Nouveau WRInaute
Ok pour l'url rewriting... juste une question et apres je vous embete plus...

Est-ce qu'il ne serait pas possible de bypasser l'url rewriting en entrant une URL du genre :

.../gr%97nd/...

Fladnag
 
WRInaute occasionnel
gr%61nd tu veux dire (en hexa)? Apache travaille sur la version désencodée de l'URL, donc sur grand. Et pour compléter ce que disait Remi L. , le plus efficace serait de demander à l'hébergeur d'ajouter dans la conf une directive LocationMatch ad hoc.
 
Discussions similaires
Haut