Cela fonctionne même dans un <Directory> ou <Location> dans un fichier .conf réel
chrismarx
1
@chrismarx dans quel fichier .conf le mettrais-je? .htaccess ne semble pas être activé sur mon serveur, et j'ai lu qu'il vaut mieux ne pas l'utiliser de toute façon. J'ai cependant accès à tous les fichiers du serveur, car c'est un vps.
Charles John Thompson III
1
Je suis coincé sur cette même question, j'ai ajouté le fichier .htaccess avec le code dans le même répertoire que ma page Web mais il me donne toujours une alerte de navigation dans le répertoire. Est-ce que je fais quelque chose de mal?
Randy Gilman
10
Notez que cela .htaccesspourrait être désactivé. Veuillez vérifier la AllowOverridedirective. S'il est défini sur None, il .htaccessest désactivé. Vous pouvez l'activer en définissant AllowOverride All. Pour être plus précis, Allsignifie toutes les directives Apache.
Julian
2
Si vous avez le contrôle du http.conf, mieux vaut le faire là-bas. Il y a un hit de performance avec htaccess
Itay Moav -Malimovka
299
La meilleure façon de le faire est de le désactiver avec le serveur Web apache2. Dans mon Ubuntu 14.X - /etc/apache2/apache2.confchangement ouvert de
@Jay J'ai aussi essayé "Options -indexes" mais Apache ne voulait pas commencer la postface. J'utilise la version serveur: Apache / 2.4.18 (Ubuntu). Cependant, l'utilisation de "Options FollowSymLinks" a fonctionné selon la réponse de Dung. Je suis simplement curieux de savoir quelle version d'Apache et du système d'exploitation que vous utilisez? Peut-être que c'est une chose de version?
MikeyE
@Jay @MikeyE Même chose ici; Apache ne rechargerait pas en utilisant-Indexes
Crimbo
1
@Jay @MikeyE Apache semble recharger / redémarrer si vous supprimezFollowSymLinks
Crimbo
2
L'exécution apachectl configtestaprès l'ajout Options -Indexes FollowSymLinksà httpd.conf génère l'erreur suivante: "Soit toutes les options doivent commencer par + ou -, soit aucune option ne le peut." Par conséquent, ce qui fonctionnera estOptions -Indexes +FollowSymLinks
John T.
45
Outre les deux méthodes susmentionnées (éditez /etc/apache2/apache2.conf ou ajoutez Options -Indexes dans le fichier .htaccess), voici une autre
-Les index sur le répertoire racine ne fonctionnent pas, dans apache2.4.33, j'ai dû utiliser la réponse de @Sarvar Nishonboyev
Felipe Valdes
1
@FelipeValdes Veuillez lire attentivement la question et ma réponse. Nous ne parlons pas de répertoire racine mais d'un sous-répertoire et il a été demandé de le faire dans un .htaccessfichier (ce qui n'est pas le moyen le plus performant mais c'est souvent la seule option dans les comptes d'hébergement partagé ou avec des administrateurs système occupés).
Álvaro González
23
Vous pouvez placer un fichier vide appelé index.htmldans chaque répertoire que vous ne souhaitez pas répertorier. Cela présente plusieurs avantages:
Il (généralement) ne nécessite aucune configuration sur le serveur.
Il continuera de fonctionner, même si l'administrateur du serveur décide d'utiliser "AllowOverride None" dans la configuration du serveur. (Si vous utilisez des .htaccessfichiers, cela peut entraîner de nombreux messages "Erreur 500 - erreur du serveur interne" pour vos utilisateurs!).
Il vous permet également de déplacer vos fichiers d'un serveur à l'autre, sans avoir à vous soucier de la configuration d'apache.
Théoriquement, l'auto-indexation pourrait être déclenchée par un fichier différent (cela est contrôlé par l' DirectoryIndexoption), mais je n'ai pas encore rencontré cela dans le monde réel.
La tête haute! Cela ne peut fonctionner qu'avec la directive DirectoryIndexindex.html principalement définie .
nyedidikeke
18
L'une des choses importantes consiste à désactiver un navigateur web apache sécurisé. Par défaut, apache est livré avec cette fonctionnalité activée, mais c'est toujours une bonne idée de la désactiver, sauf si vous en avez vraiment besoin. Ouvrez le fichier httpd.conf dans le dossier apache et recherchez la ligne qui ressemble à ceci:
Options Includes Indexes FollowSymLinks MultiViews
puis supprimez les index de mots et enregistrez le fichier. Redémarrez apache. C'est tout
Parfait. Désactivez-le sur toute la machine. Pourquoi cela serait-il activé par défaut, je n'en ai aucune idée ...
eduncan911
1
Cela a fonctionné pour moi sur Ubuntu (apache2.conf) mais pas les options .htaccess -Indexes.
Danniel Little
Cela a fonctionné pour moi sur Ubuntu (/etc/apache2/apache2.conf) mais pas les options .htaccess -Indexes.
user2875289
5
Si vous choisissez de modifier votre fichier httpd.conf pour résoudre ce problème et que vous disposez de plusieurs directives Options, vous devez ajouter un - ou un + avant chaque directive. Exemple:
Sur mon Ubuntu 12.04 apache2, que je n'ai pas trouvé Indexesdans apache2.conf ou httpd.conf, heureusement je l'ai trouvé dans sites-available/default. Après l'avoir supprimé, il ne voit plus la liste des répertoires. Il faudra peut-être le faire pour sites-available/default-ssl.
Ouvrez votre fichier .htaccess et entrez le code suivant dans
Options -Indexes
Assurez-vous d'appuyer sur la touche ENTRÉE (ou la touche RETOUR si vous utilisez un Mac) après avoir entré les mots "Options -Indexes" afin que le fichier se termine par une ligne vierge.
signifie "masquer uniquement les fichiers d'extension .jpg de l'indexation.
La directive IndexIgnore utilise une expression générique pour faire correspondre les répertoires et les fichiers.
un caractère étoile, il correspond à tous les caractères d'une chaîne, par exemple: foo ou foo.extension, dans l'exemple suivant, nous allons désactiver la liste des répertoires, aucun fichier ou répertoire n'apparaîtra dans l'index:
IndexIgnore *
Ou si vous souhaitez masquer des fichiers spatiaux, dans la liste des répertoires, nous pouvons utiliser
IndexIgnore *.php
* .php => correspond à une chaîne qui commence par n'importe quel caractère et se termine par .php
L'exemple ci-dessus masque tous les fichiers se terminant par .php
Réponses:
Créez un fichier .htaccess contenant la ligne suivante:
C’est une option. Une autre option consiste à modifier votre fichier de configuration apache.
Pour ce faire, vous devez d'abord l'ouvrir avec la commande:
Recherchez ensuite la ligne: Options Index FollowSymLinks
Changez cette ligne en: Options FollowSymLinks
Enfin, enregistrez et quittez le fichier et redémarrez le serveur apache avec cette commande:
(Vous avez un guide avec des captures d'écran ici .)
la source
.htaccess
pourrait être désactivé. Veuillez vérifier laAllowOverride
directive. S'il est défini surNone
, il.htaccess
est désactivé. Vous pouvez l'activer en définissantAllowOverride All
. Pour être plus précis,All
signifie toutes les directives Apache.La meilleure façon de le faire est de le désactiver avec le serveur Web apache2. Dans mon Ubuntu 14.X -
/etc/apache2/apache2.conf
changement ouvert deà
puis redémarrez apache en:
Cela désactivera la liste des répertoires de tous les dossiers desservis par apache2.
la source
-Indexes
FollowSymLinks
apachectl configtest
après l'ajoutOptions -Indexes FollowSymLinks
à httpd.conf génère l'erreur suivante: "Soit toutes les options doivent commencer par + ou -, soit aucune option ne le peut." Par conséquent, ce qui fonctionnera estOptions -Indexes +FollowSymLinks
Outre les deux méthodes susmentionnées (éditez /etc/apache2/apache2.conf ou ajoutez Options -Indexes dans le fichier .htaccess), voici une autre
Redémarrez ensuite le serveur apache2
la source
a2dismod -f autoindex
pour l' exécution de commandes non bloquantes .Alias
dossiers et tout autre chemin desservi par Apache.Éditez / créez un
.htaccess
fichier à l'intérieur/galerias
avec ceci:La navigation dans les répertoires est fournie par le module mod_autoindex .
la source
.htaccess
fichier (ce qui n'est pas le moyen le plus performant mais c'est souvent la seule option dans les comptes d'hébergement partagé ou avec des administrateurs système occupés).Vous pouvez placer un fichier vide appelé
index.html
dans chaque répertoire que vous ne souhaitez pas répertorier. Cela présente plusieurs avantages:.htaccess
fichiers, cela peut entraîner de nombreux messages "Erreur 500 - erreur du serveur interne" pour vos utilisateurs!).Théoriquement, l'auto-indexation pourrait être déclenchée par un fichier différent (cela est contrôlé par l'
DirectoryIndex
option), mais je n'ai pas encore rencontré cela dans le monde réel.la source
index.html
principalement définie .L'une des choses importantes consiste à désactiver un navigateur web apache sécurisé. Par défaut, apache est livré avec cette fonctionnalité activée, mais c'est toujours une bonne idée de la désactiver, sauf si vous en avez vraiment besoin. Ouvrez le fichier httpd.conf dans le dossier apache et recherchez la ligne qui ressemble à ceci:
puis supprimez les index de mots et enregistrez le fichier. Redémarrez apache. C'est tout
la source
Si vous choisissez de modifier votre fichier httpd.conf pour résoudre ce problème et que vous disposez de plusieurs directives Options, vous devez ajouter un - ou un + avant chaque directive. Exemple:
Options -Indexes + FollowSymLinks
la source
Ce n'est pas une réponse, juste mon expérience:
Sur mon Ubuntu 12.04 apache2, que je n'ai pas trouvé
Indexes
dans apache2.conf ou httpd.conf, heureusement je l'ai trouvé danssites-available/default
. Après l'avoir supprimé, il ne voit plus la liste des répertoires. Il faudra peut-être le faire poursites-available/default-ssl
.la source
Ouvrez votre fichier .htaccess et entrez le code suivant dans
Assurez-vous d'appuyer sur la touche ENTRÉE (ou la touche RETOUR si vous utilisez un Mac) après avoir entré les mots "Options -Indexes" afin que le fichier se termine par une ligne vierge.
la source
Ajoutez ceci dans votre fichier .htaccess:
Si cela ne fonctionne pas pour une raison quelconque, essayez ceci dans votre fichier .htaccess:
la source
Pour compléter la réponse de @ GauravKachhadiya:
signifie "masquer uniquement les fichiers d'extension .jpg de l'indexation.
La directive IndexIgnore utilise une expression générique pour faire correspondre les répertoires et les fichiers.
un caractère étoile, il correspond à tous les caractères d'une chaîne, par exemple: foo ou foo.extension, dans l'exemple suivant, nous allons désactiver la liste des répertoires, aucun fichier ou répertoire n'apparaîtra dans l'index:
IndexIgnore *
Ou si vous souhaitez masquer des fichiers spatiaux, dans la liste des répertoires, nous pouvons utiliser
* .php => correspond à une chaîne qui commence par n'importe quel caractère et se termine par .php
L'exemple ci-dessus masque tous les fichiers se terminant par .php
la source
Essayez ceci dans
.htaccess
:la source