Essayez ceci dans votre .htaccess
:
Require valid-user
<Files ?*>
Order allow,deny
Allow from all
Satisfy any
</Files>
Ici Require valid-user
nécessite une connexion connue. Ensuite, vous modifiez cette restriction pour les fichiers avec au moins un caractère dans leur nom - c'est ce que le modèle glob ?*
pour la <Files>
section correspondra -, ce qui signifie effectivement que les règles ci-jointes s'appliquent aux fichiers, mais pas aux répertoires.
Dans les règles modifiées pour les fichiers, la clé est Satisfy any
. Il permet à l'autorisation d'être satisfaite par les informations d'identification ou l'adresse IP. Ensuite, vous autorisez le passage de n'importe quelle adresse IP, les demandes sont donc toujours autorisées.
Alors maintenant, parcourir ce répertoire ou l'un de ses sous-répertoires nécessitera une connexion, mais la récupération directe d'un fichier ne le sera pas.
C'est ce que tu voulais.
Aristote Pagaltzis
la source
LocationMatch
, il nécessite une expression régulière. b) Vous devez bien sûr mettre l'require valid-user
intérieur duLocationMatch
bloc (pourquoi laLimit
déclaration quand même?)Vous voulez simplement désactiver l'affichage d'Apache l'index du dossier. Mettez ceci dans le .htaccess:
De cette façon, lorsque les utilisateurs visitent
http://www.url.com/folder/
, ils obtiennent une erreur de liste d'annuaire refusée . Mais quand ils visitent,http://www.url.com/folder/file.jpg
ils peuvent voir le dossier.la source
Si vous voulez que la liste des répertoires ne soit visible que pour les utilisateurs autorisés mais que quiconque puisse télécharger un fichier (afin que vous puissiez envoyer des liens aux personnes), vous avez besoin d'un script d'un certain type (PHP, ASP, etc.) qui demande à l'utilisateur de un mot de passe et s'ils l'obtiennent correctement affiche le contenu du répertoire. Vous mettriez ce script dans le répertoire et le nommeriez index.php afin qu'il soit servi plutôt qu'apache générant un index de répertoire.
la source
Oui. Ajoutez un fichier index.html qui répertorie le contenu du dossier et restreignez l'accès à ce fichier avec .htaccess. Si vous voulez que l'index soit dynamique, vous devrez utiliser une sorte de script (ou inclure côté serveur) pour générer l'index.
la source
Faites un chmod 777 sur les fichiers, mais pas sur le dossier principal.
la source