Directiva Options
Sintaxis: Options [+|-]opción...
Contexto: server config, virtual host, directory, .htaccess
Valor por defecto: FollowSymLinks
Esta directiva especifica qué características de configuración se les puede aplicar a un directorio concreto, y por lo tanto, la pondremos dentro de <Directory>.
Las opciones que acompañan a un directiva Options concreta, se escribirán todas sin signos (+, -) o todas con signos. Si no llevan signos, las opciones indicadas estarán activadas y las demás desactivadas, con lo que cualquier directiva Options aplicada anteriormente quedaría sobrescrita. Pero si llevan signos, entonces lo que se hace es mezclar las opciones con las que hubiera en ese momento, añadiéndose la opción si lleva el signo +, y eliminándose si lleva el signo -.
Como valor de opción para la directiva Options se pueden utilizar los siguientes entre otros:
- None: Desactivaría todas las opciones.
- All: Activaría todas las opciones menos MultiViews.
- FollowSymLinks: Se permitirá al servidor seguir los enlaces simbólicos que hubiera en el directorio. Es el valor por defecto.
- SymLinksIfOwnerMatch: Igual que la opción anterior, pero solo se seguirán los enlaces simbólicos si coinciden el dueño del enlace y el dueño del fichero/directorio apuntado, en caso contrario se obtendrá un error 403 (Forbidden).
- Indexes: Cuando un usuario a través de la URL solicita un directorio, se muestra uno de los ficheros por defecto (DirectoryIndex), pero si no existiera ninguno de estos ficheros en el directorio, el comportamiento de Apache lo controla esta opción, si está activa se mostrará un listado formateado (mod_autoindex) del directorio, y si está desactiva se mostrará un mensaje de error 403 (Forbidden).
- MultiViews: Se utiliza para negociar los contenidos dependiendo de varios aspectos, por ejemplo, el idioma. Esta opción solo es válida con <Directory>.
En el fichero apache2.conf ya se usa Options:
...
<Directory /var/www/>
Options Indexes FollowSymLinks
AllowOverride None
Require all granted
</Directory>
...
En este caso, se habilitan solo las opciones Indexes y FollowSymLinks para el directorio /var/www y subdirectorios, las demás están deshabilitadas.
En relación a los ficheros por defecto que se muestran cuando un usuario especifica un directorio en la URL, estos se listan por orden de comprobación en la directiva DirectoryIndex perteneciente a mod_dir, eligiéndose el primero que se encuentre.
Directiva DirectoryIndex
Sintaxis: DirectoryIndex {disabled | [ruta/]fichero...}
Contexto: server config, virtual host, directory, .htaccess
El valor disabled evita que Apache busque un fichero por defecto, y para las especificaciones de ficheros con ruta relativa, se tiene como referencia el directorio solicitado en la URL. Las rutas absolutas toman como raíz el del sitio web, y no el del sistema de ficheros.
Poner varias directivas DirectoryIndex juntas en el mismo contexto, tiene el mismo efecto que poner una sola con todos los valores.
La modificación de DirectoryIndex a nivel global se realiza a través del fichero de configuración de mod_dir que es /etc/apache2/mods-available/dir.conf.
# cat /etc/apache2/mods-available/dir.conf
DirectoryIndex index.html index.cgi index.pl index.php index.xhtml index.htm