Configuración de apache
Lección: 9
Capítulo: RewriteRules
RewriteRule regla_de_apache
Mediante esta directiva podremos convertir páginas dinámicas
en estáticas. En este artículo no vamos a detallar el funcionamiento de las RewritesRules,
sin embargo intentaremos dar una idea de éstas.
La mayoría de las veces implementamos páginas web en lenguajes dinámicos, estos nos permiten pasar una
serie de variables a través de la url, como sería
el caso de este ejemplo:
http://www.dominio.com/directorio1/fichero.php?var1=1&var2=2
Las desventajas que tiene una url
de este estilo són las siguientes:
- Los buscadores sólo aceptan cierto número de variables
pasadas a través de la url.
- Para los usuarios es muy complicado guardar o memorizar url's tan complicadas.
- El posicionamiento en los buscadores de una url dinámica es muy complicado.
Por todos estos puntos, las RewriteRules
son cada vez más importantes en el proceso de diseño de una página web.
¿Cómo funciona una RewriteRule?
Muy fácil, cuando apache recibe una url comprueba que
la sintaxis de ésta coincida con alguna de las expresiones regulares
definidas en las rewriteRules, en
el caso de coincidir aplica
un ejemplo se verá mucho más claro:
Supongamos que queremos redireccionar
las páginas que empiezan por "patata" a un fichero específico. Lo que
haríamos sería hacer una RewriteRule con una
expresión regular que identificara estas páginas, y que una
vez las hubiera identificado las reenviara al fichero que le especificamos.
La regla quedaría de la siguiente forma:
RewriteRule ^/patata_(.*)/?
/directorio2/fichero2.php/$1 [L]
Para poder utilizar RewriteRules
debemos tener en cuenta dos puntos. Primero debemos cargar el módulo mod_rewrite.so, tal como hemos especificado en páginas
anteriores, y segungo introducir la directiva RewriteEngine On en el virtualhost.