# Options -Indexes en Apache: Qué es, para qué sirve y cómo configurarlo

- Link: https://binariocero.com/linux/options-indexes-en-apache-que-es-para-que-sirve-y-como-configurarlo
- Published: 2026-01-29T11:28:48+01:00
- Author: Juan José Fernández Durán

![Loading](https://binariocero.com/wp-content/plugins/page-views-count/ajax-loader-
2x.gif)

`Options -Indexes` es una directiva de Apache que controla si el servidor debe mostrar
un **listado de archivos de un directorio** cuando no existe un archivo índice (
como `index.html` o `index.php`).

Sin esta configuración, si un usuario accede a un directorio sin índice, Apache 
muestra automáticamente todos los archivos contenidos, lo que **representa un riesgo
de seguridad** al exponer información sensible.

## Qué hace `Options -Indexes`

 * `Options -Indexes` **desactiva** la posibilidad de listar los archivos de un 
   directorio.
 * Cuando un usuario intenta acceder a un directorio sin archivo índice, Apache 
   devuelve un **error 403 Forbidden** en lugar de mostrar el contenido.
 * Es especialmente importante en entornos de producción y para aplicaciones web
   que contienen configuraciones o datos sensibles.

## Cómo habilitar `Options -Indexes`

Hay **dos formas principales** de aplicar esta directiva: en la configuración de
Apache o dentro de un archivo `.htaccess`.

### Dentro del bloque `<Directory>` en Apache

Este es el método recomendado, porque aplica la directiva a nivel de servidor y 
no depende de `.htaccess`.

Ejemplo de VirtualHost genérico:

    ```wp-block-code
    <VirtualHost *:80>
        ServerName ejemplo.midominio.com
        DocumentRoot /var/www/miapp

        <Directory /var/www/miapp>
            AllowOverride All
            Require all granted
            Options -Indexes
        </Directory>

        ErrorLog ${APACHE_LOG_DIR}/miapp_error.log
        CustomLog ${APACHE_LOG_DIR}/miapp_access.log combined
    </VirtualHost>
    ```

**Explicación:**

 * `AllowOverride All` → permite que Apache lea reglas de `.htaccess`.
 * `Require all granted` → da acceso al directorio desde el navegador.
 * `Options -Indexes` → bloquea el listado de archivos.

Luego recarga Apache para aplicar los cambios:

    ```wp-block-code
    sudo systemctl reload apache2
    ```

### Dentro de un archivo `.htaccess`

Si no puedes modificar la configuración principal de Apache, puedes ponerlo en un`.
htaccess` en el directorio que quieras proteger:

    ```wp-block-code
    # /var/www/miapp/.htaccess
    Options -Indexes
    ```

**Notas importantes:**

 * Funciona solo si `AllowOverride All` (o al menos `Options`) está activo en Apache.
 * Aplica solo al directorio donde se encuentra el `.htaccess` y sus subdirectorios.
 * Puede combinarse con otras reglas de seguridad como restricciones de acceso o
   redirecciones.

## Verificación

Para probar que `Options -Indexes` funciona:

 1. Asegúrate de que el directorio no tenga un archivo `index.html` ni `index.php`.
 2. Intenta acceder al directorio desde el navegador:

    ```wp-block-code
    http://tu-servidor/miapp/
    ```

 * Si **muestra 403 Forbidden** → la configuración funciona
 * Si **lista los archivos** → Apache no está leyendo la directiva

## Buenas prácticas

 * Aplica `Options -Indexes` en los directorios que contengan **archivos sensibles**,
   como configuraciones o datos de la aplicación.
 * Prefiere configurarlo en **VirtualHost o configuración principal de Apache** 
   para producción.
 * Combínalo con otras medidas de seguridad: `.htaccess`, permisos de archivo correctos
   y restricciones de acceso a directorios críticos.

## Conclusión

`Options -Indexes` es una directiva simple pero fundamental para **proteger la información**
de tus aplicaciones web.

 * Bloquea el listado de archivos de directorios sin índice.
 * Puede aplicarse en `.htaccess` o en la configuración de Apache.
 * Es especialmente recomendable en entornos de producción para evitar exposición
   accidental de datos sensibles.

**Clave:** aplicarlo siempre que haya directorios accesibles al público y que no
contengan un archivo índice.
