RequestOrbit
実践的なリダイレクト例
開発、API の切り替え、CDN 移行に役立つ設定例です。
ステージング API をローカルサーバーへ送る
/v1/ より後のパスを $1 として残します。アプリのビルドを変えずに、実際のフロントエンドをローカル API やリバースプロキシへ接続できます。
ローカルサーバーが扱うメソッドだけを選び、リクエスト元を app.example.com に限定します。
Match type Simple wildcard
Match https://api.staging.example.com/v1/*
Resources XMLHttpRequest
Methods GET, POST, PUT, PATCH, DELETE
Initiator app.example.com
Action Redirect
Destination http://localhost:3000/v1/$1
https://api.staging.example.com/v1/users/42
→ http://localhost:3000/v1/users/42
管理しているサイトを新しい CDN へ移す
スクリプト、スタイル、画像、フォントの完全なパスを保ったまま新しいホストへ移します。サイト本体の更新中に一時的な互換ブリッジとして使えます。
これは常に実行されるリダイレクトで、フェイルオーバーではありません。新しい CDN に接続できなくても、以前の CDN へ自動では戻りません。
Match type Simple wildcard
Match https://static.legacy.example.com/*
Resources Script, Stylesheet, Image, Font
Initiator www.example.com
Action Redirect
Destination https://cdn.example.com/$1
https://static.legacy.example.com/assets/app.css
→ https://cdn.example.com/assets/app.css
正規表現で読み取り専用 API を v1 から v2 へ切り替える
二つのキャプチャグループでリソースの種類と ID を残し、/v1/ だけを /v2/ に変えます。GET だけに限定することで、書き込みリクエストを誤って変更するのを防ぎます。
保存時に、現在のブラウザーが正規表現に対応しているか確認します。* ごとに残したい一部分が明確なら、簡易ワイルドカードの方が分かりやすくなります。
Match type Regular expression
Match ^https://api\.example\.com/v1/(users|projects)/([^?]+)$
Resources XMLHttpRequest
Methods GET
Initiator app.example.com
Action Redirect
Destination https://api.example.com/v2/$1/$2
https://api.example.com/v1/projects/alpha
→ https://api.example.com/v2/projects/alpha
回帰テストで本番バンドルを一つだけ置き換える
正確な URL フィルターで、一つのスクリプトだけをローカルのデバッグビルドへ置き換えられます。
自分で管理するアプリだけに使用してください。HTTPS ページではローカル HTTPS サーバーが混在コンテンツ制限を避けやすくします。
Match type URL filter
Match https://app.example.com/assets/checkout.js
Resources Script
Initiator app.example.com
Action Redirect
Destination http://localhost:5173/checkout.js
設定例を使う前に
すべての例では、文書用の example.com ドメインを使っています。自分で管理している URL に置き換え、無効のまま作成してから、実際の URL をいくつかテストしてください。
リダイレクトとリクエストヘッダーは、ページが実際に受け取る内容を変えます。リソースの種類とリクエスト元を絞り、関係のないサイトに影響しないようにします。
リダイレクトではできないこと
すべての条件に一致すると、ブラウザはすぐにリダイレクトします。404 を待つ、レスポンス本文を読む、通信に失敗してから別の宛先を選ぶ、JavaScript で URL を生成するといった処理はできません。
- 宛先は HTTP または HTTPS に限られます。
- 簡易ワイルドカードと正規表現のキャプチャは $1〜$9 で参照します。
- クエリ順序、デコード、重複キーは自動で正規化されません。
- 同じ URL へのリダイレクトや、検出されたループはブロックされます。
ルールはブラウザ内だけに保存されます。アクセス解析も、ルールを処理する外部サービスもありません。