Tag Archives: Apache - Page 2

Apache, vhosts, htaccess, AllowOverride y FileInfo

Disponemos de un servidor Apache con sitios virtuales y queremos definir las páginas de error que se mostraran en caso de los 404, 500, etc.

Para ello editamos el archivo de configuración del sitio virtual en /etc/apache2/sites-available/ y en la directriz Directory establecemos el valor de AllowOverride a FileInfo de manera que nuestra configuración quedará como sigue:

ServerName URL
ServerAdmin user@localhost
DocumentRoot /var/web/
<Directory /var/web/>
Options FollowSymLinks Multiviews
AllowOverride FileInfo
Order allow,deny
allow from all
</Directory>

Así, todos los parámetros de configuración de Apache que definamos en la raíz de documentos (DocumentRoot) dentro del archivo .htaccess sobreescribiran los definidos en el fichero de configuración del servidor. En nuestro caso, FileInfo sólo contempla DocumentError.

Ahora podemos definir los mensajes o acciones a realizar en caso de error con la siguiente sintaxis:

ErrorDocument [code] [action]

Donde action puede ser:

  1. Un texto a mostrar entre comillas
  2. Una re-dirección a una url interna del servidor
  3. Una re-dirección a una url externa del servidor

Un ejemplo de la documentación de Apache

ErrorDocument 500 /cgi-bin/crash-recover
ErrorDocument 500 "Sorry, our script crashed. Oh dear"
ErrorDocument 500 http://xxx/
ErrorDocument 404 /Lame_excuses/not_found.html
ErrorDocument 401 /Subscription/how_to_subscribe.html