Las URLs friendly o URLs amigables son aquellas direcciones que describen el contenido de una página, además de ser fáciles de recordar y entender.

Las URLs de los artículos deben ser únicas, por lo que no se permite el uso de titulares o slug iguales, ya que provocarían un conflicto.

En caso que un artículo no tenga sección, tema o subtema, estos se omiten y no se agregan a la URL.

Al crear un nuevo articulo "Sin título" automáticamente se le agregará un número para evitar duplicados.

Si aplicas nuevas configuraciones de friendly URLs a un sitio ya existente debes tener en cuenta lo siguiente:

  1. Al regenerar los artículos, todas las URLs del sitio cambiarán a la versión nueva.
  2. Todos los artículos van a quedar con 3 URLs (antigua,  nueva y  URLs absoluta del directorio donde se encuentra el archivo). De esta forma puedes evitar los links rotos cuando compartas el enlace de un artículo antes aplicar una nueva configuración de Friendly URL.
Configuración de NGINX

En el archivo de configuración de Nginx (usualmente localizado en /etc/nginx/nginx.conf), debes configurar las directivas colocando la configuración que requieras según la versión de URLs que eligas para el sitio, siempre reemplazando ext por la extensión de los artículos, por ejemplo: html.

Directivas para friendly URL versión 1 (NGINX)
### Friendly v1.0
rewrite ^/[^\/]+/([^\/]+)/([0-9]+)-([0-9]+)-([0-9]+)/([0-9]+)\.ext/$1/site/artic/$2$3$4/pags/$2$3$4$5.ext;
Directivas para friendly URL versión 2 (NGINX)
### Friendly v2.0
rewrite ^/([^\/]+)/.+?/([0-9]+)-([0-9]+)-([0-9]+)/([0-9]+)\.ext/$1/site/artic/$2$3$4/pags/$2$3$4$5.ext;
Directivas para friendly URL versión 4 (NGINX)
### Friendly v4.0
rewrite "^\/([^\/]+)\/?.*?\/([^\/\.]{2})([^\/\.]{2})([^\/\.]+?)\/?$" /$1/site/friendly/links/$2/$3/$2$3$4.html;
Configuración de Apache

Para habilitar las friendly URLs en Apache, previamente debes verificar que esté instalado el módulo mod_rewrite

Para asegurar que el módulo mod_rewrite está instalado en el sistema operativo FreeBSD puedes ejecutar el siguiente comando:

httpd -t -D DUMP_MODULES

El cual entregará una lista de todos los modulos cargados; el que buscamos es el siguiente:

rewrite_module (shared)

En Ubuntu/Debian, se puede realizar con el siguiente comando:

/usr/sbin/apache2 -t -D DUMP_MODULES
Directivas para friendly URL versión 1 (Apache)
RewriteEngine On
# Friendly URLs.
RewriteRule ^/[^\/]+/([^\/]+)/([0-9]+)-([0-9]+)-([0-9]+)/([0-9]+)\.ext/$1/site/artic/$2$3$4/pags/$2$3$4$5.ext

Debes reemplazar ext por la extensión de los artículos, por ejemplo: html.

Directivas para friendly URL versión 2 (Apache)
RewriteEngine On
# Friendly URLs.
RewriteRule ^/([0-9a-zA-Z\-\_\.]+)/.+?/([0-9][0-9][0-9][0-9])\-([0-9][0-9])\-([0-9][0-9])/([0-9][0-9][0-9][0-9][0-9][0-9])\.ext$ /$1/site/artic/$2$3$4/pags/$2$3$4$5.ext

Se debe reemplazar ext por la extensión de los artículos, por ejemplo: html.

Directivas para friendly URL versión 4 (Apache)
RewriteEngine On
# Friendly URLs.
RewriteRule "^([^\/]+)\/?.*?\/([^\/\.]{2})([^\/\.]{2})([^\/\.]+?)\/?$" /$1/site/friendly/links/$2/$3/$2$3$4.ext

Se debe reemplazar ext por la extensión de los artículos, por ejemplo: html.

Directivas para friendly URL versión 5 (Apache)

Desde prontus 12.0.12.0 se implementan urls totalmente arbitrarias manejadas desde Prontus. Requiere el uso de modperl2 y Apache2. Se debe agregar la siguiente configuración al servidor

# Modulo que entrega los friendlies 5.
PerlModule prontus_route_friendly
<If "! -f %{REQUEST_FILENAME}">
# El handler actua si el archivo no existe.
SetHandler perl-script
PerlResponseHandler prontus_route_friendly
</If>
Configuración en el administrador del sitio

Una vez editados los archivos de configuración de directivas del servidor web (NGINX o Apache según sea el caso), debes ingresar al Administrador Prontus especificando la instancia del sitio que deseas configurar.

hacer click en Administrar → Configuración → Configuración Global y ubicar el panel "URLs Amigables"

Excluir FIDs de friendly URLs versión 4

Puedes excluir tipos de artículos a los cuales no se les generará friendly URL version 4, para ello, selecciona los artículos en cuestión en la opción FRIENDLY_V4_EXCLUDE_FID, ejemplo:

Luego de guardar la configuración de los FIDs a excluir, debes regenerar las tablas en base de datos y los artículos (Ver Regenerar Bases de datos). También es necesario regenerar: 

  • Portadas Táxonomicas.
  • Portadas Tags.
  • Las portadas list se deben regenerar guardando artículos que correspondan a las configuración de cada portada existente.

Para regenerar Portadas debes hacer click en el Administrador del sitio en Administrar > Mantenimiento > Regeneración 

Finalizado dicho procedimiento ya es posible acceder a los articulos por su nueva URL.

Incluir / Excluir PRONTUS_ID en las URLs

FRIENDLY_V4_INCLUDE_PRONTUS_ID Permite no incluir el identificador de prontus en la URL generada, al usar la versión 4 de las URLs amigables.Al seleccionar la opción "No Incluir Prontus ID" la URL queda de la forma: /seccion/tema/subtema/titular. Ejemplo: 

Configurar largo de URLs

FRIENDLY_URLS_LARGO_TITULAR Define el largo máximo que tendrá el titular en las friendly URL. Se recomienda no exceder los 75 caracteres. Ejemplo:

Ver también Friendly URLs para imágenes

Artículos Relacionados