permitir ocultar listar listado lista httpd htaccess directorios directorio denegar cómo configurar configuracion conf con bloquear archivo acceso apache .htaccess

apache - ocultar - denegar listado de directorio con htaccess



htaccess ocultar directorio (8)

De acuerdo en que

Options -Indexes

debería funcionar si el servidor principal está configurado para permitir reemplazos de opción, pero si no, esto ocultará todos los archivos del listado (para que cada directorio aparezca vacío):

IndexIgnore *

Tengo una carpeta, por ejemplo: /public_html/Davood/ y demasiadas subcarpetas en la carpeta, por ejemplo: /public_html/Davood/Test1/ , /public_html/Davood/Test1/Test/ , /public_html/Davood/Test2/ , ...

Quiero agregar un archivo htaccess a /public_html/Davood/ Para denegar DirectoryListing en /Davood y Sub carpetas, ¿es posible?


Hay dos maneras :

  1. usando .htaccess: Options -Indexes

  2. crear un índice en blanco.html


Intente agregar esto al archivo .htaccess en ese directorio.

Options -Indexes

This tiene más información.


Para mostrar el error Prohibido, incluya estas líneas en su archivo .htaccess:

Options -Indexes

Si queremos indexar nuestros archivos y mostrarlos con cierta información, entonces use:

IndexOptions -FancyIndexing

Si queremos que una extensión particular no se muestre, entonces:

IndexIgnore *.zip *.css


Si Options -Indexes no funciona como sugirió Bryan Drewery, podría escribir un método recursivo para crear archivos index.php en blanco.

Coloca esto dentro de la carpeta base que deseas proteger, puedes ponerle el nombre (recomendaría index.php)

<?php recurse("."); function recurse($path){ foreach(scandir($path) as $o){ if($o != "." && $o != ".."){ $full = $path . "/" . $o; if(is_dir($full)){ if(!file_exists($full . "/index.php")){ file_put_contents($full . "/index.php", ""); } recurse($full); } } } } ?>

Estos archivos index.php en blanco se pueden eliminar o sobrescribir fácilmente y evitarán que se pueda listar sus directorios.


Opciones -Indexes devuelve un error prohibido 403 para un directorio protegido. El mismo comportamiento se puede lograr mediante el uso de la siguiente redirección en htaccess:

RedirectMatch 403 ^/folder/?$

Esto devolverá un error prohibido para example.com/folder/ .

También puede usar mod-rewrite para prohibir una solicitud de carpeta.

RewriteEngine on RewriteRule ^folder/?$ - [F]

Si su htaccess está en la carpeta que va a prohibir, cambie el patrón de RewriteRule de ^ folder /? $ A ^ $ .


Opciones: los índices deberían funcionar para evitar listados de directorios.

Si está utilizando un archivo .htaccess, asegúrese de tener al menos la configuración "allowoverride options" en su archivo de configuración principal de apache .


Options -Indexes

Debo intentar crear el archivo .htaccess en el directorio actual que quiero deshabilitar el listado del índice del directorio. Pero, lo siento, no sé de recursivo en el código .htaccess.

Intentalo.