リクエストの URL は、書き換えとリダイレクトという異なる操作で変えられます。
-
URL 書き換え: ソース URL をターゲット URL に変換するサーバー側の操作です。Web サーバーがリクエストを処理し切る前に行われます。ブラウザに表示される URL は変わらないため、サイト訪問者には見えません。URL Rewrite Rules を設定すると、Web サーバーまで届けることなく、Cloudflare のグローバルネットワーク上で書き換えできます。
-
URL リダイレクト: ソース URL をターゲット URL に変換するクライアント側の操作です。Web サーバーが最初の URL を読み込んだあとに行われます。この場合、リダイレクト時に URL が変わることを訪問者が確認できます。リダイレクトの設定については リダイレクト を参照してください。
URL Rewrite Rule を使うと、ブラウザには別の URL を表示したまま、ある URL の内容を返せます。URI パス、クエリ文字列、またはその両方を書き換えできます。
URL Rewrite Rules では、静的または動的な書き換えができます。
- 静的書き換え: リクエスト URL の指定部分(パスまたはクエリ文字列)を、固定の文字列に置き換えます。
- 動的書き換え: より高度な用途向けです。書き換え式(リクエスト属性にもとづく式)で、結果のパスまたはクエリ文字列を定義します。
URL Rewrite Rules は ダッシュボード、Cloudflare API、または Terraform で作成します。
Cloudflare Images を使うときは、URL Rewrite Rules でカスタムパスから画像を配信できます。詳細は カスタムドメインから画像を配信する を参照してください。
URL Rewrite Rules のトラブルシューティングでは、Cloudflare Trace を使い、特定の URL でルールが発動するかどうかを確認します。
-
URL 書き換えルールは順に実行され、あとのルールは前のルールによる変更を上書きできます。
-
リクエストおよびレスポンスフィールドの値は、各 フェーズ 内では不変です。URL 書き換えルールが定義される
http_request_transformフェーズも同様です。そのため、あとの URL 書き換えルールは、フィルター式の評価時も元のフィールド値を使い、前のルールが変えた値は使いません。詳細は ルール評価中のフィールド値 を参照してください。