
¿Existe una directiva para establecer explícitamente listados de directorios?sin un archivo de índiceal 403 ¿Prohibido? El comportamiento predeterminado devuelve un 404 porquemod_dirNo puedo encontrar el archivo de índice.
no tengomod_autoindexcargados y Options
están configurados en solo FollowSymLinks
. Lo intenté -Indexes
, pero aún así me devolvió un 404.
<IfModule dir_module>
DirectoryIndex index.php index.html index.htm
DirectorySlash On
</IfModule>
<Directory /var/www>
Options FollowSymLinks
AllowOverride None
Require all granted
</Directory>
No debería importar, pero estoy usando Apache 2.4.
Respuesta1
Respondiendo a mi propia pregunta después de mucho ensayo y error. Esta respuesta debería aplicarse a Apache >= 2.0.
En resumen, parece que la Indexes
opción por la Options
directiva requieremod_autoindex. Puede dejar de leer ahora a menos que desee obtener más información sobre el comportamiento predeterminado de Apache.
Más información
La clave es si o nomod_autoindexestá cargado. Si no está cargado, la configuración Options -Indexes
no tendrá ningún efecto y devolverá un 404, lo cual tiene sentido porque la DirectoryIndex
directiva mod_dir no puede encontrar su archivo de índice. Si está cargado, la configuración Options -Indexes
devolverá un 403.
Esto se explica de alguna manera en elDocumentos de opciones de ApachebajoÍndices, lo cual es un poco confuso porque Options
es parte de mod_core.
Índices
Si se solicita una URL que se asigne a un directorio y no hay ningún DirectoryIndex (por ejemplo, index.html) en ese directorio, entonces mod_autoindex devolverá una lista formateada del directorio.
... y explicado en elmod_autoindexpágina:
La generación automática de índices se habilita mediante el uso de Opciones + Índices. Consulte la directiva Opciones para obtener más detalles.
Mis pruebas indican que habilitar/deshabilitar archivos .htaccess AllowOverride
es irrelevante.