Filtros de ruta
Nota
Esta característica se contempla a partir de XenForo 1.2.
Los filtros de ruta permiten cambiar las URLs generadas por XenForo para ajustarse más a sus necesidades.
Advertencia
Los filtros de ruta son una característica avanzada. Pueden crearse URL de ambiguas estructuras que pueden impedir el acceso a otras páginas. Deben comprobarse encarecidamente los cambios antes de configurar definitivamente un filtro de ruta.
¿Qué es una ruta?
Una ruta es un término que XenForo extrae de la URL y que usa para determinar qué página cargar. La opción Usar URLs Completamente Amistosas puede afectar a la URL pero no a la ruta actual. Sin embargo, otras opciones pueden afectar a la ruta actual generada.
Por ejemplo, si se tiene instalado XenForo en https://ejemplo.com/comunidad/
, los siguientes ejemplos resaltan en negrita la porción de la URL que es la ruta:
- https://ejemplo.com/comunidad/index.php?temas/ejemplo.1/
- https://ejemplo.com/comunidad/temas/ejemplo.1/
- https://ejemplo.com/comunidad/index.php?temas/ejemplo.1/pagina-2
- https://ejemplo.com/comunidad/temas/ejemplo.1/page-2
- https://ejemplo.com/comunidad/index.php?temas/ejemplo.1/&ejemplo=query
- https://ejemplo.com/comunidad/temas/ejemplo.1/?ejemplo=query
Los ejemplos que muestran index.php? son las URLs sin activar la amistosidad. Puede usarse esta guía para determinar la ruta de cualquier URL.
Definiendo un Filtro de ruta
Un filtro de ruta estándar es bi-direccional. Cambia las URLs generadas a la versión especificada y, cuando un usuario carga esta URL, se convierte de nuevo a la versión estándar de XenForo de modo que se puede procesar. Así, el valor Buscar ruta se corresponde con la ruta estándar de XenForo y valor Reemplazar con será aquel que se desea que aparezca.
Ambos campos, Buscar y Reemplazar, pueden contener comodines. Los comodines pueden ser de las siguientes maneras:
{name}
- esto coincidirá con lo que no sea una "/".{name:digit}
- esto solo coincidirá con dígitos.{name:string}
- esto coincidirá con cualquier cosa que no sea una "/" o un ".".
Los mismos comodines deben estar en ambos campos, Buscar y Reemplazar con.
Los filtros de ruta siempre coinciden con el inicio de una ruta. Un filtro de ruta no tiene que coincidir con toda la raíz. Coincidirá con lo que pueda y dejará el resto como es. Esto significa que se puede uno centrar en cambiar exactamente lo que se desea cambiar, sin específicamente afectar a más partes de la URL.
Para evitar errores, un filtro de ruta debe comenzar siempre con un "prefijo de ruta" que no contenga un comodín. Esencialmente, esto significa que no se puede especificar un comodín antes de la primera "/" tanto en el campo Buscar como Reemplazar con.
Si se desea crear un filtro de ruta uni-direccional, hay que seleccionar la opción Sólo conversión de URL entrante. Esto permite redireccionar efectivamente una ruta antigua a una nueva sin cambiar el valor de la nueva ruta. Si esto está seleccionado, cualquier usuario que visite una ruta que coincida con el valor de reemplazo será redireccionado al valor de Buscar de forma automática.
Ejemplo 1: Cambiando un prefijo de ruta
Las URLs predeterminadas en XenForo están en Inglés. Puede preferirse cambiar estas por las propias del idioma de uno. Por ejemplo, en español, "forums" es "foros". Para configurar un filtro de ruta que haga esto, se deberá escribir:
- Ruta a Buscar:
forums/
- Reemplazar con:
foros/
Esto coincidirá automáticamente con todas las URLs que tengan el prefijo de ruta forums
, tal como forums/eejemplo.1/
que se convertirá en foros/eejemplo.1/
.
Como otro ejemplo, se puede tener instalado el complemento Gestor de recursos de XenForo y preferir denominarlo "Descargas". Simplemente cambiar recursos/
a descargas/
.
Ejemplo 2: Cambiando una ruta de página
Los nodos de página en XenForo siempre tienen una estructura de URL como paginas/nombre-pagina/
, pero igual se tiene una jerarquía de páginas como:
- Primario (
paginas/primario/
) - Secundario (
paginas/secundario/
) - Terciario (
paginas/terciario
)
Jerarquía de URLs
Con los filtros de ruta puede crearse una jerarquía de URLs como:
- Buscar:
paginas/primario/
, Reemplazar con:primario/
- Buscar:
paginas/secundario/
, Reemplazar con:primario/secundario/
- Buscar:
paginas/terciario/
, Reemplazar con:primario/secundario/terciario/
Este ejemplo muestra además cómo puede eliminarse el prefijo paginas/
de páginas específicas. Por ello es importante que el nombre de la página no interfiera con cualquier URL estándar. Si interfiere con URLs estándar, se romperán otros sitios de XenForo.