.htaccess
# .htaccess

Un fichero .htaccess (hypertext access), también conocido como archivo de configuración distribuida, es un fichero especial, popularizado por el Servidor HTTP Apache que permite definir diferentes directivas de configuración para cada directorio (con sus respectivos subdirectorios) sin necesidad de editar el archivo de configuración principal de Apache.

## Formato

Por razones históricas, el formato de .htaccess es el mismo que el fichero de configuración global de Apache, incluso en otros servidores web como Sun Java System Web Server y Zeus Web Server, que cuentan con ficheros de configuración globales muy diferentes.

## Usos frecuentes

El fichero .htaccess ofrece un universo de posibilidades, detallamos a continuación los usos más frecuentes.

### Autorización y autenticación

    Los ficheros .htaccess son usados frecuentemente para especificar restricciones de seguridad para un directorio en particular, de aquí el sufijo "access". El fichero .htaccess se acompaña frecuentemente de otro fichero .htpasswd que guarda usuarios válidos y sus contraseñas.

### Creación de URLs Amigables (semánticas)

    Los servidores suelen usar el .htaccess para reescribir URLs largas y complejas, en otras más simples y fácilmente recordables.

### Restringir el acceso

    Permite bloquear (usando allow/deny) usuarios por su dirección IP y/o dominio e ISPs. También permite bloquear bots y arañas web.

### Server Side Includes

    Permite el conjunto de directivas Server Side Includes (SSI).

### Listado de directorio

    Controlar el comportamiento por defecto del servidor cuando no se especifica ninguna página web.

### Página de error personalizada

    Cambiar la página que se muestra cuando un error de la parte del servidor ocurre, por ejemplo: HTTP 404 Not Found.

### Multipurpose Internet Mail Extensions (MIME) types

    Controlar cómo el servidor maneja diferentes tipos de archivos.

### Control de caché

    Los ficheros .htaccess permiten a un servidor controlar la caché web por medio de los navegadores web y proxies para reducir el uso del ancho de banda, la carga del servidor, y el lag percibido.
