On Oct 14, 2008, at 12:38 PM, Miguel Angel Calleja L. wrote:
Aha, he leido, así las url serían más cortas pero perdería toda la
información que quiero mostrar en la url, el proyecto, la página y el
item, se que entre abuelo y nieto no hay relación, pero me interesa
que
se muestre el proyecto para saber en dónde estoy mientras que si lo
hago
de esa forma perdería ese dato y no pretendo éso, quiero mostrar
toda la
información posible en la url
Si lo que dice la url es muy importante para tu aplicación, está
perfecto así. Sólo que para ser consistente tal vez deberías
asegurarte de que todos los niveles sean válidos:
/proyectos/123/paginas/456/items/789
@project = Project.find(params[:project_id]) # 123
@page = @project.pages.find(params[:page_id]) # 456
@item = @page.items.find(params[:id]) # 789
¡Amén! 
Hace poco vi un ejemplo parecido con ciudades:
/paises/argentina/provincias/rio-negro/ciudades/bariloche
En mi opinión, es más claro, flexible y hasta más relevante tener:
/paises
/paises/argentina
/paises/argentina/provincias
/paises/argentina/provincias/rio-negro
/provincias/rio-negro/ciudades
/provincias/rio-negro/ciudades/bariloche
De paso, también se puede tener:
/provincias (todas las provincias, no importa el país)
/ciudades (todas las ciudades, no importa el país ni la provincia)
Si es por el SEO, cuantos más términos pongas en la url, menos
“pesará” cada uno.
En parte, lo “amigable” de las urls también pasa porque sean
relativamente cortas, de un largo manejable por los usuarios, etc.
Según Jakob Nielsen las urls desde siempre fueron parte de la IU de la
web [1]. ¿Quién no pasó alguna vez por la odisea de pegar una url en
un email, que se corte, que después no se pueda hacer clic, o que haya
que “pegarla”, etc.?
- URL as UI