Como tener URL's mas semanticas?


#1

Amigos una consulta, como puedo hacer que las URL’s, se muestren algo
asi:

http://tienda.com/productos/camisa-verde-small

en ves de:

http://tienda.com/productos/P0141

No estoy seguro si es una consulta directamente por nombre de producto,
en ese caso seria conveniente tener indexado tambien el nombre no?

Saludos.
Ruben.


#2

On Mar 15, 2007, at 10:35 PM, Ruben Alexis D. wrote:

producto,
en ese caso seria conveniente tener indexado tambien el nombre no?

Las piezas basicas estan explicadas en este post:

http://jroller.com/page/obie?entry=seo_optimization_of_urls_in

Son normalizacion de campos (UTF8 -> ASCII con guiones), junto con el
truco #to_param. En la aproximacion del post hay una diferencia, y es
que se pone el ID delante, como hacen en Working with Rails:

http://workingwithrails.com/person/5973-xavier-noria

aprovechando el hecho hackeriano que Model.find(params[:id]) se lo
traga tal cual.

Para no tener ese ID (a mi personalmente no me gusta), se mantiene
con callbacks un campo unico en la base de datos, url_id, con la
cadena “camisa-verde-small”, y siempre usas

Model.find_by_url_id(params[:id])

Si se quiere, tocando las rutas se pueden obtener la llave :url_id en
lugar de :id en params, ya a gusto del consumidor. Naturalmente el
generador del url_id no puede asumir en general que esa combinacion
de campos sera unica y tiene que añadir un sufijo o algo asi para
garantizar que el url_id es unico en caso de colisiones. No se puede
asumir que nombre+apellido de clientes sera unico, o titulo de post,
por ejemplo. Pero si las colisiones son infrecuentes la mayoria de
URLs quedan limpias.

– fxn


#3

Muchas gracias Xavier, me dio un enfoque completo tu respuesta ;).

Saludos.

El vie, 16-03-2007 a las 00:27 +0100, Xavier N. escribió:


#4

Hola Rubén, yo normalmente hago esto creando una función “permalink” que
guarda en un campo de la tabla que se llama igual, una cadena con el
nombre del artículo o lo que quieras.

en el blog de Vicent G. puedes encontrar un buen ejemplo

http://www.vicentgozalbes.com/articles/2006/05/19/programar-un-blog-en-más-de-15-minutos-vi