Redirecciones
En esta página
Redirecciones
MantĆ©n una URL antigua funcionando despuĆ©s de mover, renombrar o reestructurar una pĆ”gina - se escribe un stub HTML estĆ”tico en la ruta antigua, para que una entrada de Ćndice desactualizada de un buscador o el marcador antiguo de alguien sigan aterrizando en la pĆ”gina correcta en lugar de un 404. No interviene ninguna regla de reescritura del lado del servidor (un host estĆ”tico no tiene dónde ejecutar una) - el stub es justo el HTML suficiente para que un navegador se redirija solo y un rastreador conozca la URL canónica real.
Por pƔgina: frontmatter redirect_from
AƱade una o mƔs rutas antiguas al propio frontmatter de una pƔgina:
---
title: New Setup
redirect_from:
- guides/old-setup
- setup
---
Cada entrada es un segmento de URL bonita - sin barra inicial/final, sin
extensión .md/.html - la misma forma que toma la propia URL de la
pÔgina. Una construcción escribe entonces un stub en cada una
(site/guides/old-setup/index.html, site/setup/index.html para el
ejemplo anterior), ambos redirigiendo a la URL real propia de esta
pƔgina.
redirect_from estƔ limitado al Ɣrbol al que pertenece la propia pƔgina
- la propia pÔgina de una versión redirige dentro de esa versión
(
site/versions/2.0/old-path/), la propia pƔgina traducida de un idioma redirige dentro de ese idioma (site/es/old-path/), exactamente igual que ya hace la propia URL real de la pƔgina. No hay nada extra que configurar por Ɣrbol.
Para todo el sitio: bxsites.yaml redirects
Para una URL antigua que nunca perteneció a una pĆ”gina especĆfica - una
sección reestructurada, la ruta de un dominio antiguo, cualquier cosa que
no sea naturalmente el propio "nombre antiguo" de una sola pƔgina - lista
en su lugar un par explĆcito from/to:
redirects:
- from: old-guide
to: guides/new-guide/
- from: moved-to-another-site
to: https://example.com/docs
{
"redirects": [
{ "from": "old-guide", "to": "guides/new-guide/" },
{ "from": "moved-to-another-site", "to": "https://example.com/docs" }
]
}
from- el segmento de URL bonita antiguo, la misma forma queredirect_fromarribato- una ruta relativa a la raĆz (resuelta contra el propiobaseURLdel sitio, la misma convención que ya usantheme.logo/ogImage) o una URLhttps://completa, para redirigir completamente fuera del sitio
redirects solo se aplica siempre al Ɣrbol principal del sitio - un to
sin adornos es una ruta relativa a la raĆz que solo es inequĆvoca en la
raĆz del sitio. Un Ć”rbol de versión/idioma que quiera el mismo mapeo de
URL antigua necesita en su lugar su propio redirect_from a nivel de
pƔgina.
page:rename lo hace por ti
Renombrar/mover una pƔgina con
page:rename aƱade automƔticamente su
ruta antigua al propio redirect_from de la pƔgina movida - ademƔs de
reescribir cada enlace relativo de Markdown que apuntaba a ella, la
propia URL antigua sigue funcionando tambiƩn:
bxSites page:rename --from=guides/old-setup.md --to=guides/new-setup.md
Renombrar una pƔgina mƔs de una vez simplemente sigue aƱadiendo - la
lista redirect_from de una pƔgina puede llevar tantas rutas antiguas
como haya tenido a lo largo del tiempo.
Conflictos
Una construcción falla por completo, en lugar de sobrescribir contenido real silenciosamente, si:
- La propia ruta
fromde una redirección choca con una pÔgina real ya construida en esa ruta (BxSites.RedirectConflict) - Dos redirecciones (entradas
redirect_from, entradas de configuraciónredirects, o una de cada una) apuntan ambas a la misma rutafrom
QuƩ queda fuera de alcance (por ahora)
- Las entradas de blog no obtienen
redirect_from. La clave de frontmatter solo se lee para pĆ”ginas regulares dedocs/, no paradocs/blog/posts/**- una entrada de blog movida necesita en su lugar su propia entrada de configuraciónredirects. - Sin redirecciones de comodĆn/patrón. Cada
fromes una ruta antigua exacta - no hay un comodĆnguides/old/*.