Filtros de ruta

Los filtros de ruta permiten cambiar las URLs generadas por XenForo a una que cubra más nuestras necesidades.

Advertencia

Los filtros de ruta son una característica avanzada. Pueden crearse estructuras de URL ambíguas que impidan el acceso a otras páginas. Hay que comprobar encarecidamente los cambios realizados tras la configuración de un filtro de ruta.

¿Qué es un filtro de ruta?

Una ruta es un término XenForo sobre la parte de una URL que XenForo utiliza para determinar qué página cargar. La opción Usar URLs completamente amistosas afectará a la URL pero no a la ruta actual. Sin embargo, otras opciones pueden afectar a la ruta generada actual.

Por ejemplo, si XenForo está instalado en https://xenfacil.com/comunidad/, los siguientes ejemplos resaltan la porción de ruta de la URL en negrita:

  • https://xenfacil.com/comunidad/index.php?threads/example.1/
  • https://xenfacil.com/comunidad/threads/example.1/
  • https://xenfacil.com/comunidad/index.php?threads/example.1/page-2
  • https://xenfacil.com/comunidad/threads/example.1/page-2
  • https://xenfacil.com/comunidad/index.php?threads/example.1/&example=query
  • https://xenfacil.com/comunidad/threads/example.1/?example=query

Los ejemplos que llevan index.php? son las URLs con las URLs amistosas activadas. Puede usarse esta guía para determinar la ruta de cualquier URL.

Definir un filtro de ruta

Un filtro de ruta estándar es bi-direccional. Cambia las URLs generadas de la versión específica que tenemos y después, cuando un usuario carga esa URL, la convierte a la versión estándar de XenForo que es cuando puede procesarse. Por ello, el valor Ruta a buscar debe ser la ruta estándar de XenForo y el valor Reemplazar con es la ruta que se quiere que luzca como tal.

Ambos campos Buscar y Reemplazar pueden tener comodines. Los comodines pueden adoptar cualquiera de las siguientes formas:

  • {name} - Coincidirá con cualquier otra cosa que no sea /
  • {name:digit} - sólo coincide con digitos
  • {name:string} - Esto coincidirá con cualquiera salvo / y .

Los mismos comodines deben ir tanto en el campo Buscar como en el Reemplazar

Los filtros de ruta siempre comienzan en el inicio de la ruta. Un filtro de ruta no tiene que coincidir con la raíz completa. Coincidirá tanto como pueda y dejará el resto tal y como está. Esto significa que puede enfocarse en cambiar exactamente lo que se quiere cambiar, sin afectar a partes más específicas de la URL.

Para evitar errores, un filtro de ruta siempre tiene que comenzar con un prefijo de ruta que no tenga comodines. Esencialmente, esto significa que no se puede especificar un comodín antes del primer / tanto en el campo Buscar como en el Reemplaza.

Si quiere crearse un filtro de ruta que sea uni-direccional, puede seleccionarse la opción de la conversión de la URL entrante. Esto permite efectivamente redireccionar una vieja ruta a una nueva sin cambiar el valor de la nueva ruta. Si se selecciona esto, cualquier visitante a una ruta que coincida con el valor reemplazar será redireccionado automáticamente al valor del campo Buscar.

Nota

El gestor y editor de filtros de ruta se encuentra en la sección Inicio del panel de control de administración.

Ejemplo 1: Cambiar un prefijo de ruta

Las URLs predeterminadas de XenForo están en Inglés. Si se desea se puede cambiar estas a las del idioma preferido de uno. Por ejemplo, en español, "forums" es "foros". Para configurar un filtro de ruta que haga esto hay que introducir:

  • Ruta a buscar: forums/
  • Reemplazar con: foros/

Esto emparejará automáticamente a todas las URL con el prefijo de ruta forums al prefijo foros, por lo que forums/example.1/ convendrá a ser foros/example.1/

Como otro ejemplo, si se tiene instalado el complemento oficial Gestor de recursos y se prefiere llamarlo Descargas, simplemente habrá que cambiar resources/ a descargas/

Ejemplo 2: Cambiar una ruta de página

La páginas de XenForo siempre tienen una estructura de URL de pages/nombre-pagina/, pero puede desarse una jerarquía de páginas como:

  • Primario (pages/primario/)
    • Secundario (pages/secundario/)
      • Terciario (pages/terciario)

Con los filtros de ruta también se puede hacer que las URLs tengan esa jerarquía:

  • Buscar: pages/primario/, reemplazar: primario/
  • Buscar: pages/secundario/, reemplazar: primario/secundario/
  • Buscar: pages/terciario/, reemplazar: primario/secundario/terciario/

Este ejemplo también demuestra como eliminarse el prefijo pages/ de páginas específicas.

Advertencia

Es muy importante ser cuidadoso de que el nombre de la página no interfiera con ninguna URL estándar de XenForo. Si lo hiciera, se romperían otros lugares de XenForo.