1 votes

Interdire tout ce qui se trouve dans le répertoire, sauf les sous-répertoires portant un certain nom, en utilisant .htaccess ou vhost.conf.

Comment puis-je interdire tout ce qui se trouve dans un répertoire, à l'exception des sous-répertoires qui portent un certain nom, en utilisant htaccess ou même vhost.conf pour le site ? J'ai un répertoire principal protégé qui contient des sous-répertoires. Chacun des sous-répertoires a un autre répertoire enfant nommé "thumbs", auquel je veux permettre aux gens d'accéder. Dans le dossier thumbs, j'ai des fichiers qui commencent tous par le préfixe 'thumb_' pour le nom de fichier. Alors quelle approche utiliser, .htaccess FilesMatch ou vhost DirectoryMatch ? et quel serait le code à utiliser ? Merci

1voto

Shane Madden Points 112034

Donc si je comprends bien, vous ne voulez autoriser que les fichiers nommés thumb_* s'ils se trouvent dans un répertoire nommé thumbs qui se trouve dans un sous-répertoire du répertoire protégé ? Il serait plus simple de ne pas exiger que le répertoire soit nommé thumbs puisque vous n'avez besoin que de l'option <FilesMatch> .

On dirait que le chemin est, par exemple, /path/to/protected_dir/subdir/thumbs/thumb_1.png

Si c'est le cas, cela devrait permettre d'appliquer le type de restrictions que vous recherchez - assurez-vous simplement qu'il n'y a pas d'autres blocs de configuration qui pourraient interférer avec les paramètres d'autorisation :

<Directory /path/to/protected_dir>
  Order Deny,Allow
  Deny from all
</Directory>
<LocationMatch "^/url/path/to/protected_dir/[^/]+/thumbs/thumb_.*">
  Allow from all
</LocationMatch>

Si vous ne vous souciez pas de faire respecter l'arborescence exacte des répertoires, c'est beaucoup plus simple :

<Directory /path/to/protected_dir>
  Order Deny,Allow
  Deny from all
  <FilesMatch "^thumbs_.*">
    Allow from all
  </FilesMatch>
</Directory>

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X