Reescribir URLs en Apache

El mod_rewrite es una pequeña extensión de Apache que nos permite que, al visitar una dirección de una página, realmente se está llamando a otra diferente. Basicamente lo que nos permite es transformar una URL en otra.

Permitir reescritura de URLs

Dentro de nuestra directiva directory, ya sea dentro de un virtualhost o el que trae por defecto el Apache, tenemos que añadir lo siguiente:

AllowOverride all
RewriteEngine on

esto sirve para permitir al Apache hacer esas reescrituras.

Utilización de expresiones regulares

En la sintáxis de las RewriteRules se pueden utilizar expresiones regulares. A continuación se muestra la sintáxis:

. (punto) cualquier caracter
[chars] no de los caracteres
[*chars] ninguno de los caracteres

  • Cuantificadores
    :

? 0 o 1 del texto precedente
0 o N del texto precedente	
+ 1 o N del texto precedente

  • Agrupamiento:

(texto)
^ Inicio de la cadena
$ Fin de la cadena
\char Escape, se utiliza para sustituir ( ) [ ] los cuales son marcadores
‘ last | L’ es el marcador de la ultima instrucción del MOD_REWRITE y detiene la ejecución.