Cacher des dossiers avec.htaccess

Est-il possible de masquer les dossiers dans mon dossier racine? Juste au cas où mon index.php disparaîtrait vous savez?

puis-je également montrer 404 erreur non trouvé si quelqu'un les demande?

22
demandé sur GEOCHET 2009-09-05 05:45:17

8 réponses

IndexIgnore *

ce qui précède empêcherait tous les fichiers d'être listés. Ici * agit comme un caractère générique. Vous pouvez le remplacer par quelque chose de plus spécifique, si nécessaire.

21
répondu Alan Haggai Alavi 2009-09-05 01:49:05

ce que vous voulez est probablement

Options -Indexes

ce qui donnera juste une erreur 404 si aucun fichier DirectoryIndex n'est trouvé.

35
répondu duskwuff 2009-09-05 03:41:08
Options - Indexes

cela causera une erreur 403 interdite sur ce répertoire particulier. Donc de fournir une page d'erreur personnalisée, vous aurez besoin

ErrorDocument   403 myErrorPage.html

J'espère que cela aidera

12
répondu Pratik Bhatt 2009-09-05 06:59:41

c'était ma solution préférée au même problème (ceci affiche un accès refusé au lieu de 404 cependant):

<files "/path/to/single/file/or/folder">
  order allow,deny
  deny from all
</files>

cela vous donne aussi la possibilité de donner accès à certaines IP (dans ce cas, il nie l'accès à tous)

Le"/path/to/single/file/or / folder " peut être remplacé par regex si vous voulez utiliser un pattern à la place. Sinon, vous devez utiliser plusieurs blocs pour chaque fichier ou dossier spécifique auquel vous voulez bloquer l'accès.

1
répondu DangerPaws 2016-05-04 13:02:37

si vous voulez vraiment afficher une erreur 404 pour le(s) sous-dossier (s), essayez ce qui suit dans /.htaccess:

RewriteEngine on

RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^ - [R=404,L]

Si un existant /folder ou /subfolder est demandé, la règle ci-dessus sera de le réécrire /404 .

1
répondu starkeen 2016-07-10 15:47:02

je contourner ce problème en ajoutant un index.html sur tous les dossiers que je ne veux pas d'accès. Index.la page html contient une seule ligne avec les header("Location:thepageiwanttoshown.html"). De cette façon, si l'utilisateur visite accidentellement restreint de dossiers qu'ils seront redirigés sur la volée. J'espère que cela aide

1
répondu ocnet 2016-08-30 10:35:32

Dans mon cas, je l'ai fait mais il m'indique l'Erreur 500. C'est mon .htaccess

RewriteEngine on

# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_URI} !^/[0-9]+\..+\.cpaneldcv$
RewriteCond %{REQUEST_URI} !^/\.well-known/pki-validation/[A-F0-9]{32}\.txt(?:\ Comodo\ DCV)?$
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} !^/[0-9]+\..+\.cpaneldcv$
RewriteCond %{REQUEST_URI} !^/\.well-known/pki-validation/[A-F0-9]{32}\.txt(?:\ Comodo\ DCV)?$
RewriteRule . /index.php [L]
</IfModule>

# END WordPress

Options - Indexes

Merci

1
répondu Ronald 2018-04-27 18:14:14

Pour moi, il fonctionne toujours avec l'ajout de

<Directory "/var/www/yourfolder"> IndexIgnore * </Directory>

dans le fichier /etc/apache2/sites-available/default

0
répondu g07kore 2015-03-19 22:50:26