🌐 Como Escribir una URL Amigable

🌐 Como Escribir una URL Amigable

🌐 Objeto de Reescritura de URLs (URL Rewrite)

Aplicable a:

  • GeneXus 18

  • GeneXus 17

El objeto URL Rewrite permite crear URLs amigables, mejorando la usabilidad, la accesibilidad y la compatibilidad SEO de un sitio web. A través de este objeto, se puede definir cómo se asignan las URLs a los objetos y sus parámetros.


🔹 Beneficios de URLs amigables

Beneficio Descripción
Separación de interfaz e implementación Las URLs no dependen de la estructura interna de los objetos.
SEO-friendly Facilita el posicionamiento en buscadores.
Independencia de nombres de objetos Las URLs funcionan aunque cambien nombres o modularización.
Compatibilidad con generadores Funciona tanto en .NET como Java, evitando dependencia de un generador.

⚙ Componentes del objeto URL Rewrite

  • Reglas de reescritura: Definen asignaciones entre URLs y objetos.

  • Variables: Permiten parametrizar partes de la URL.

  • Ayuda: Proporciona asistencia desde GeneXus.

  • Documentación: Explica el funcionamiento y restricciones.


📌 Reglas de Reescritura

Cada regla establece cómo una URL se mapa a un objeto de GeneXus.

Formato general:

URL amigable Objeto y parámetros
home Home
core/clients Core.WWClient
core/clients/{&ClientId}/{&Mode} Core.Client(&Mode,&ClientId)
core/clients/{&ClientId} Core.ViewClient(&ClientId)

Ejemplos de URLs resultantes:

  • http://www.ejemplo.com/inicio

  • http://www.ejemplo.com/core/clientes

  • http://www.ejemplo.com/core/clients/1/UPD

  • http://www.ejemplo.com/core/cliente/1


⚠ Consideraciones importantes

  • No es necesario mapear todos los parámetros de un objeto.

  • La función Link devuelve URLs relativas al servidor si existe un objeto URL Rewrite, no relativas al documento. Esto puede afectar concatenaciones de URLs.

  • El objeto API no es compatible con URL Rewrite.


🚫 Restricciones

Restricción Detalle
Cifrado de parámetros Los parámetros solo se pueden asignar a objetos donde Cifrar parámetros de URL = No.
Estilo de parámetros Debe ser Nombrado para entornos.
Experiencia del usuario web Debe configurarse en Suave para los objetos afectados.

📝 Ejemplos prácticos

1️⃣ Referencias parciales de parámetros

Si un parámetro no se define en la URL, se añade automáticamente a la query string.

Regla Llamado al objeto URL resultante
core/clients/{&ClientId} => Core.Client(&Mode,&ClientId) Core.Client('UPD',1) http://www.ejemplo.com/core/clients/1?Mode=UPD

2️⃣ Mapeo sin parámetros

Incluso si el objeto tiene parámetros definidos, se puede crear una URL sin mapearlos.

Regla Llamado al objeto URL resultante
core/client => Core.Client Core.Client('UPD',1) http://www.ejemplo.com/core/client?UPD,1

🚀 Despliegue

  • GeneXus aplica automáticamente todas las reglas definidas en los objetos URL Rewrite al implementar una Deployment Unit.

  • Es fundamental evitar conflictos entre reglas de distintos objetos.

Deja un comentario 0

Your email address will not be published. Campos requeridos marcados *