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?
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.
ce que vous voulez est probablement
Options -Indexes
ce qui donnera juste une erreur 404 si aucun fichier DirectoryIndex n'est trouvé.
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
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.
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
.
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
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
Pour moi, il fonctionne toujours avec l'ajout de
<Directory "/var/www/yourfolder"> IndexIgnore * </Directory>
dans le fichier /etc/apache2/sites-available/default