El listado de directorios en Apache es la página que el servidor puede generar cuando un visitante abre una carpeta que no contiene un archivo de inicio reconocido, como index.php o index.html. En lugar de mostrar el sitio, esa página enumera archivos y subdirectorios. En la mayoría de los sitios públicos conviene desactivarla para no revelar nombres, tamaños y fechas que faciliten el reconocimiento de la estructura.
Por qué Apache puede mostrar el contenido de una carpeta
Apache busca en el directorio alguno de los archivos definidos mediante DirectoryIndex. Si no encuentra ninguno y la opción Indexes está habilitada, el módulo mod_autoindex genera un índice automático. Si Indexes está deshabilitada, normalmente responde con un error 403 en lugar de enumerar el contenido.
Que aparezca un listado no siempre significa que el servidor esté mal configurado: puede haberse activado deliberadamente para distribuir archivos. Sin embargo, en carpetas de aplicaciones, copias, cargas o recursos privados supone una exposición innecesaria.
Qué información puede quedar expuesta
Un índice automático puede mostrar nombres de archivos, subcarpetas, extensiones, tamaños y fechas de modificación. Esa información podría revelar copias antiguas, archivos comprimidos, nombres de componentes o una estructura que no estaba destinada a ser navegada. Desactivar el índice reduce esa exposición, aunque no impide acceder a un archivo cuando alguien conoce su URL exacta.
Método recomendado: utilizar Indexes en cPanel
Si tu plan dispone de la herramienta, ingresá en cPanel → Advanced → Indexes. Según el idioma o la versión de la interfaz, puede aparecer como Índices. Después:
- Elegí el punto de inicio, por ejemplo Web Root para acceder a
public_html. - Navegá hasta el directorio que querés configurar.
- Hacé clic en Edit en la fila correspondiente.
- Seleccioná No Indexing para impedir que se enumeren los archivos.
- Guardá el cambio y probá la URL de la carpeta en una ventana privada.
La opción Inherit hace que el directorio herede la configuración de su carpeta superior. También pueden aparecer opciones para mostrar solamente nombres o incluir información adicional. Para un sitio convencional, No Indexing suele ser la alternativa más segura.
Desactivar el listado mediante .htaccess
En un servidor Apache que permita esta directiva, agregá la siguiente línea al archivo .htaccess de la carpeta que querés proteger:
Options -Indexes
La regla afecta ese directorio y, por herencia, sus subdirectorios salvo que exista otra configuración más específica. Si la colocás en public_html/.htaccess, normalmente abarcará todo el sitio. Si solo necesitás aplicarla a una carpeta, es preferible crear o editar el .htaccess dentro de esa ubicación.
Cómo activar el listado cuando realmente es necesario
Para habilitarlo de forma deliberada, y siempre que la configuración del servidor lo autorice, se utiliza:
Options +Indexes
Antes de activarlo confirmá que todos los archivos de la carpeta son públicos. No lo uses en ubicaciones que contengan copias de seguridad, archivos de configuración, exportaciones de bases de datos, registros o información de clientes. Para descargar archivos de manera controlada conviene utilizar una aplicación con autenticación o proteger la carpeta.
No uses Options All si solo querés controlar el índice
Algunas guías antiguas proponen reglas como Options All -Indexes. Esa sintaxis puede modificar otras funciones de Apache además del listado y producir efectos no deseados. Si el único objetivo es impedir el índice automático, Options -Indexes es más específica y fácil de auditar.
Diferencia entre ocultar el listado y proteger el acceso
Options -Indexes evita que el servidor enumere el contenido, pero no establece autenticación. Un archivo como dominio.com/carpeta/informe.pdf continuará siendo accesible si alguien conoce o adivina esa dirección.
Si necesitás restringir toda la carpeta a usuarios autorizados, usá la función de privacidad de directorios. Podés consultar nuestra guía para proteger un directorio con contraseña en cPanel.
Crear un archivo índice no reemplaza la protección
Agregar un index.html vacío impide que el listado aparezca en una visita normal, pero es solo una medida superficial. Los archivos siguen siendo públicos y el comportamiento puede cambiar si el archivo índice se elimina, se renombra o deja de ser reconocido. La configuración explícita mediante cPanel o Options -Indexes es más clara.
Qué hacer antes de modificar .htaccess
- Descargá una copia del archivo actual.
- Activá en el Administrador de archivos la visualización de archivos ocultos.
- Confirmá que editás el
.htaccessdel dominio y directorio correctos. - Agregá únicamente la directiva necesaria, sin reemplazar reglas del CMS.
- Guardá y comprobá tanto la carpeta como el resto del sitio.
Los archivos .htaccess se evalúan por directorio. Una misma cuenta puede tener varios, por ejemplo uno en public_html y otros dentro de subcarpetas o dominios adicionales.
Si aparece un error 500
Un error 500 después del cambio suele indicar que la directiva no está permitida, existe un error de sintaxis o hay conflicto con otra regla. Restaurá la copia anterior o eliminá solamente la línea recién agregada. Si Options -Indexes no está autorizado en tu plan, configurá el índice desde cPanel o consultá al soporte.
Cómo comprobar el resultado correctamente
Probá una carpeta que no tenga archivo índice y accedé desde una ventana privada para evitar resultados almacenados. El comportamiento esperado al desactivar el listado es una respuesta 403 o una página de acceso prohibido. Luego verificá varias páginas normales del sitio para confirmar que la modificación no afectó enlaces permanentes ni otras reglas.
Repetí la revisión después de migraciones o restauraciones, porque una copia de seguridad puede reponer un .htaccess anterior. También conviene revisar periódicamente que no se hayan subido archivos sensibles dentro de carpetas públicas.
Video tutorial
El video puede mostrar una versión anterior de la interfaz de cPanel. Los nombres o la ubicación de algunas opciones pueden haber cambiado.