.htaccess: Configurando nuestro Servidor Apache

3 12 2007

El Servidor Apache es un gran servidor de código abierto. Entre sus grandes características destacan los archivos de configuración .htaccess. Según los define la propia documentación de Apache, los archivos .htaccess permiten hacer “cambios de configuración” dentro de las estructuras de los directorios desde controles de acceso / bloqueo, direccionamientos y la definición de reglas para manipulas URL’s.

La siguiente es un guía práctica de ejemplos de las diferentes directivas que permite configurar estos archivos y de que manera podemos aprovecharlas para obtener un mejor desempeño a nuestro servidor; tanto en entornos de Servidores Dedicados como compartidos.

¿Qué es un archivo .htaccess?: como ya habíamos podido leer, un archivo de este tipo es un archivo que contiene directivas que Apache puede interpretar y aplicar al directorio en el que se encuentra al archivo y los subdirectorios dentro de el. Lo general es que este archivo se nombre como .htaccess dentro del servidor. Pero el nombre puede cambiarse mediante la directiva AccessFileName de Apache.

Ahora bien, los permisos de configuración dependen de los establecidos dentro del archivo de configuración de Apache mediante la directiva AllowOverride. Podemos permitirlas todas, denogar todo o permitir solo ciertas opciones.

# No permitir ninguna directiva
AllowOverride None

# Permitir todo
AllowOverride All

Las directivas de un archivo .htaccess son aplicadas a los subdirectorios, pero si un directorio tiene otro archivo de configuración, dependiendo de estas directivas puede causarse que las segundas sobreescriban las de la carpeta superior.

¿Cómo y cuando usar un archivo .htaccess?: Se nos recomienda que es uso de archivos .htaccess sea exclusivo en casos donde no se tiene acceso al archivo de configuración principal de Apache (llamdo httpd.conf). Esto seguramente será por que hasta cierto punto es un riesgo de seguridad el tener archivos de configuración junto con las carpetas en las que navegan los usuarios dentro de nuestro sitio. Ahora, pasando al tema de como utilizarlo; decir que basta con crear un archivo con ese nombre, colocar las directivas dentro del mismo y subirlo al servidor. Con eso, cada vez que Apache detecte la presencia de este archivo, ejecutará su contenido. Dentro de un archivo .htaccess podemos incluir directivas de definición de interpretes, redireccionamientos, control de acceso de permisos y las famosas URL’s amigables.

También debemos recordar que en muchas ocasiones, en especial en las URL’s amigables, es necesario tener conocimientos de Expresiones Regulares.

Redireccionamientos:

# Redireccionamiento a un archivo simple
Redirect 301 /path/old.html /path/new.html

# Redireccionando la pagina de inicio a un nuevo dominio
Redirect 301 / http://www.newdomain.com/

# Redireccionando multiples archivos
RedirectMatch 301 /blog(.*) /$1

# Redireccionando temporalmente a la página de “offline”
RedirectMatch 302 ^/ /temporary-offline.html

Documentos de Error:

Los documentos de Error son importantes para los navegantes en nuestro sitio. Entre ellos el más característico es el error 404 (Documento no encontrado).

# Documento no Encontrado
ErrorDocument 404 /404.php

Cabeceras Personalizadas con .htaccess

# Prevenir el cacheo de archivos HTML, CSS y JavaScript
<FilesMatch "\.(html|htm|js|css)$">
    FileETag None
    Header unset ETag
    Header set Cache-Control "max-age=0, no-cache, no-store, private"
    Header set Pragma "no-cache"
    Header set Expires "0"
</FilesMatch>

# Agregar la cabecera de idioma y de juego de caracteres
# sin META-tags
AddDefaultCharset UTF-8
AddLanguage es-GT .html .htm .css .js

Estas son solo algunas de las directivas que puede manejar este archivo de configuración. Existen muchos más ejemplos útiles que poco a poco se hiran incluyendo dentro de la serie.

Artículos Relacionados


Acciones

Information

3 responses

26 06 2008
Traductor

Muy buen post! me fue muy util lo de Cabeceras Personalizadas

7 03 2009
Carlos Rocha

Muy buen articulo, ejemplo para los toyosos que andan por ahi publicando tonterias mal copiadas de otros lugares….

7 06 2010
Valen

que tal?
tengo un issue con este archivo, pues en mi servidor (apache y win serv2003) tengo alojado 2 dominios, el dominio 1 ha funcionado sin problemas el dominio 2 cuando se invoca sin www redirije al home del dominio 1, me comentaron que es problema del .htaccess, y la configuracion del httpd.conf, alguien puede decirme si es correcto lo que me comentan???

gracias y saludos

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s




A %d blogueros les gusta esto: