viernes, 7 de agosto de 2015

Generar URLs amigables con htacces

Las URLs amigables son más fáciles de usar y de recordar por los usuarios y también son mejores para el posicionamiento en buscadores. Además describen mucho mejor los enlaces dentro de una página web y añade un mayor nivel de profesionalidad a nuestras webs.
De todas formas, cuando hemos creado una página dinámica en PHP lo normal es que tengamos URL no amigables. ¿Cómo las convertimos en amigables de manera automática? Una manera de hacerlo es con un archivo.htaccess y gracias a Apache y su mod_rewrite.
mod_rewrite es un módulo de Apache que permite manipular en el servidor las URLs solicitadas. Es decir, cuando llega al servidor la solicitud de una URL, esta se comprueba con respecto a una serie de reglas creadas con Expresiones Regulares creadas para detectar un patrón determinado. Si se encuentra ese patrón en el URL y se cumple la condición impuesta por la Expresión Regular se sustituye el patrón por una cadena de texto o por una acción determinada.
En el ejemplo que vamos a ilustrar vamos a tener una lista de usuarios con link a su perfil usando urls amigables.
Como urls no amigables tendremos:
http://www.yourdomain.com/users.php?id=1
Y como url amigable entenderíamos:

http://www.yourdomain.com/juan
Para conseguir este efecto, necesitaremos crear un archivo .htaccess y añadir el siguiente código:
RewriteEngine On
RewriteCond %{HTTP_HOST} ^www.yourdomain.com
RewriteRule (.*) http://yourdomain.com/$1 [R=301,L]

RewriteEngine On
RewriteRule ^([a-zA-Z0-9_-]+)$ users.php?user=$1
RewriteRule ^([a-zA-Z0-9_-]+)/$ users.php?user=$1

Y modificar los links hacia los perfiles de los usuarios añadiendo la url amigable en vez de la no amigable.

0 comentarios:

Publicar un comentario