リダイレクト

このページの内容

リダイレクト

ページを移動、リネーム、または再構成した後も、古い URL を動作させ続け ます - 古いパスに静的な HTML スタブが書き込まれるため、検索エンジンの 古くなったインデックスエントリや誰かの古いブックマークが 404 になる 代わりに、引き続き正しいページに到達します。サーバー側のリライトルール は一切関与しません(静的ホストにはそれを実行する場所がありません)- スタブは、ブラウザが自分でリダイレクトし、クローラーが本当の正規 URL を知るのに十分な HTML にすぎません。

ページ単位: フロントマター redirect_from

ページ自身のフロントマターに、1 つ以上の古いパスを追加します:

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

各エントリはプリティ URL セグメントです - 先頭/末尾のスラッシュなし、 .md/.html 拡張子なし - ページ自身の URL と同じ形式です。ビルドは それぞれについてスタブを書き込みます(上記の例では site/guides/old-setup/index.htmlsite/setup/index.html)、どちら もこのページ自身の本当の URL にリダイレクトします。

redirect_from は、ページ自身が属するツリーに限定されます - バージョン自身のページはそのバージョン内でリダイレクトし (site/versions/2.0/old-path/)、ロケール自身の翻訳されたページは そのロケール内でリダイレクトします(site/es/old-path/)、ページ自身 の本当の URL がすでにそうしているのとまったく同じです。ツリーごとに 追加で設定するものは何もありません。

サイト全体: bxsites.yamlredirects

特定のページに属したことがない古い URL - 再構成されたセクション、古い ドメインのパス、単一ページ自身の「古い名前」として自然ではない何か - の場合は、代わりに明示的な 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 - 上記の redirect_from と同じ形式の古いプリティ URL セグメント
  • to - ルート相対パス(サイト自身の baseURL に対して解決されます、 theme.logo/ogImage がすでに使用しているのと同じ規約)、または 完全に別サイトへリダイレクトするための完全な https:// URL

redirects は常にメインのサイトツリーにのみ適用されます - 素の to はルート相対パスであり、サイトのルートでのみ曖昧さがありません。同じ 古い URL のマッピングを望むバージョン/ロケールツリーは、代わりに自身 のページ単位の redirect_from が必要です。

page:rename が自動的に設定します

page:rename でページをリネーム/移動すると、移動したページ自身の redirect_from に古いパスが自動的に追加されます - それを指していた すべての相対 Markdown リンクを書き換えることに加えて、古い URL 自体も 引き続き機能します:

bxSites page:rename --from=guides/old-setup.md --to=guides/new-setup.md

ページを複数回リネームしても、単に追加され続けます - ページの redirect_from リストは、時間の経過とともに持っていた古いパスをいくつ でも保持できます。

競合

以下の場合、実際のコンテンツを黙って上書きするのではなく、ビルドは 完全に失敗します:

  • リダイレクト自身の from パスが、その同じパスにすでにビルドされた 実際のページと衝突する場合(BxSites.RedirectConflict
  • 2 つのリダイレクト(redirect_from エントリ、redirects 設定エント リ、またはそれぞれ 1 つずつ)が同じ from パスを対象にする場合

現在対象外の機能

  • ブログ投稿は redirect_from を取得しません。 フロントマターの キーは通常の docs/ ページに対してのみ読み込まれ、 docs/blog/posts/** には読み込まれません - 移動したブログ投稿には 代わりに独自の redirects 設定エントリが必要です。
  • ワイルドカード/パターンのリダイレクトはありません。 すべての from は正確な 1 つの古いパスです - guides/old/* のような キャッチオールはありません。
このページを編集 Markdownをダウンロード 最終更新 Aug 28, 2026, 3:16:38 AM