Básicamente, existen dos formas de expresar una dirección web, la dirección real con sus correspondientes parámetros (de la forma dominio.com/index.php?var1=15&var2=pepe&var3=caracola
), o bien en un formato más legible y semántico (de la forma dominio.com/mi-primera-pagina
). Esta segunda forma es llamada habitualmente «URL amigable«.
Además, las ventajas de las URLs amigables no sólo residen en su mejor legibilidad por los usuarios y en que son más fáciles de recordar o de apuntar, sino que también mejoran el posicionamiento en buscadores, al contener palabras clave que ayudan a una mejor indexación por parte de los buscadores.
Para poder utilizar URLs amigables en el servidor web Apache tenemos que activar el módulo mod_rewrite
.
Vamos a ver el caso concreto de una instalación Apache en un servidor Linux Ubuntu.
Para activar el módulo mod_rewrite
en Apache, abrimos un terminal y ejecutamos:
sudo a2enmod rewrite
… lo que activará el módulo mod_rewrite
en nuestra instalación de Apache (a2enmod
es una abreviatura de «Apache 2 enable module»). Lo que hace este comando es apuntar el módulo mod_rewrite
(en /etc/apache2/mods-available
) desde /etc/apache2/mods-enabled
Seguidamente, para permitir que mod_rewrite
sea aplicable al contenido de nuestro servidor web, tenemos que editar el siguiente archivo de configuración de Apache:
sudo gedit /etc/apache2/sites-enabled/000-default
… cambiando el parámetro AllowOverride None
por AllowOverride All
en los directorios donde queramos que se apliquen las URLs amigables.
Ahora ya sólo nos quedaría reiniciar Apache, haciendo:
sudo /etc/init.d/apache2 force-reload