Redirect

In questa pagina

Redirect

Mantieni funzionante un vecchio URL dopo aver spostato, rinominato o ristrutturato una pagina - viene scritto uno stub HTML statico al vecchio percorso, così una voce di indice obsoleta di un motore di ricerca o il vecchio segnalibro di qualcuno atterrano comunque sulla pagina giusta invece di dare un 404. Non è coinvolta nessuna regola di riscrittura lato server (un host statico non ha dove eseguirne una) - lo stub è solo l'HTML sufficiente perché un browser si reindirizzi da solo e un crawler apprenda il vero URL canonico.

Per pagina: frontmatter redirect_from

Aggiungi uno o più vecchi percorsi al proprio frontmatter di una pagina:

---
title: New Setup
redirect_from:
  - guides/old-setup
  - setup
---

Ogni voce è un segmento URL "pretty" - senza slash iniziale/finale, senza estensione .md/.html - la stessa forma che assume l'URL proprio della pagina. Una build scrive quindi uno stub per ciascuno (site/guides/old-setup/index.html, site/setup/index.html per l'esempio sopra), entrambi che reindirizzano al vero URL proprio di questa pagina.

redirect_from è limitato all'albero a cui appartiene la pagina stessa - la pagina propria di una versione reindirizza all'interno di quella versione (site/versions/2.0/old-path/), la pagina tradotta propria di una locale reindirizza all'interno di quella locale (site/es/old-path/), esattamente come già fa il vero URL proprio della pagina. Non c'è nulla di extra da configurare per albero.

A livello di sito: bxsites.yaml redirects

Per un vecchio URL che non è mai appartenuto a una pagina specifica - una sezione ristrutturata, il percorso di un vecchio dominio, qualsiasi cosa non sia naturalmente il proprio "vecchio nome" di una singola pagina - elenca invece una coppia esplicita 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 - il vecchio segmento URL "pretty", stessa forma di redirect_from sopra
  • to - un percorso relativo alla radice (risolto rispetto al proprio baseURL del sito, la stessa convenzione già usata da theme.logo/ogImage) oppure un URL https:// completo, per reindirizzare completamente fuori dal sito

redirects si applica sempre solo all'albero principale del sito - un to nudo è un percorso relativo alla radice che è univoco solo alla radice del sito. Un albero di versione/locale che vuole la stessa mappatura di vecchio URL ha bisogno invece del proprio redirect_from a livello di pagina.

page:rename lo imposta per te

Rinominare/spostare una pagina con page:rename aggiunge automaticamente il suo vecchio percorso al proprio redirect_from della pagina spostata

  • oltre a riscrivere ogni link Markdown relativo che vi puntava, anche il vecchio URL stesso continua a funzionare:
bxSites page:rename --from=guides/old-setup.md --to=guides/new-setup.md

Rinominare una pagina più di una volta continua semplicemente ad aggiungere - l'elenco redirect_from di una pagina può contenere tutti i vecchi percorsi che ha avuto nel tempo.

Conflitti

Una build fallisce del tutto, invece di sovrascrivere silenziosamente contenuto reale, se:

  • Il proprio percorso from di un redirect collide con una pagina reale già costruita a quel percorso (BxSites.RedirectConflict)
  • Due redirect (voci redirect_from, voci di configurazione redirects, o una di ciascuna) puntano entrambi allo stesso percorso from

Cosa è fuori scopo (per ora)

  • I post del blog non ottengono redirect_from. La chiave di frontmatter viene letta solo per le pagine regolari di docs/, non per docs/blog/posts/** - un post del blog spostato ha bisogno invece della propria voce di configurazione redirects.
  • Nessun redirect con wildcard/pattern. Ogni from è un vecchio percorso esatto - non esiste un catch-all guides/old/*.
Modifica questa pagina Scarica Markdown Ultimo aggiornamento Aug 28, 2026, 3:16:38 AM