Opciones de Apache: índices para subdirectorios

Opciones de Apache: índices para subdirectorios

Por¿Cómo puedo evitar que las personas vean una lista de archivos en el directorio principal si no he subido index.html?Puedo ver cómo deshabilitar la lista de archivos si no hay ningún archivo index.*.

¿Cómo puedo permitir la lista de archivos para el directorio raíz, pero no para ningún otro subdirectorio?

Gracias de antemano.

Respuesta1

Dado que etiquetó la pregunta .htaccess, podría hacer algo como lo siguiente en el .htaccessarchivo raíz de Apache 2.4:

# Default - Directory listings disabled (mod_autoindex)
Options -Indexes

# Override - Allow directory listings for the root only
<If "%{REQUEST_URI} == '/'">
    Options +Indexes
</If>

Respuesta2

Normalmente los subdirectorios heredarán la misma configuración que aplica a su directorio principal en Apache. Y, hasta donde yo sé, no se puede cambiar eso y no existe una manera de limitar el alcance de las directivas a un solo nivel de directorio.

Eso significa que necesitas:

  • establezca la opción/directiva que desee en el directorio principal
  • cambiar/anular/negar esa opción/directiva para todos los subdirectorios (actuales y nuevos).

En lugar de hacer eso para cada subdirectorio individualmente, es más fácil hacerlo con elDirectoryMatchdirectiva.

En su conjunto principal httpd.conf (o un include)

<Directory "/path/to/example.com/">
  # enable directory listings
  Options +Indexes
</Directory>


<DirectoryMatch "/path/to/example.com/.*/">
  # Disable directory listings for all sub directories of /path/to/example.com/
  Options -Indexes
</Directory>

(no probado)

información relacionada