Skip to content

非公式本サイトは非公式の日本語ドキュメントであり、Cloudflare 公式サイトではありません。最新情報はdevelopers.cloudflare.comをご確認ください。

Single Redirects の設定

最終更新 Markdown で表示Agent セットアップ

次の各節では、静的および動的な URL リダイレクトを設定するリダイレクトルールの設定を説明します。

ワイルドカード URL リダイレクト

ワイルドカードパターン を使い、複数リクエストに一致する URL リダイレクトを行います。この方法なら、複雑な式を書かずに送信元と対象の URL パターンを定義できます。

ワイルドカード URL リダイレクトには、次の設定パラメーターがあります。

  • Request URL: アスタリスク(*)を使った ワイルドカードパターン を入力し、複数リクエストに一致させます。例: https://*.example.com/files/*

  • Target URL: 対象 URL を入力します。静的(例: https://example.com)でも、動的(例: https://example.com/${1}/files/${2})でも構いません。動的な対象には ${1}${2} などの ワイルドカード置換 を使います。

  • Status code: リダイレクトレスポンスの HTTP ステータスコードです(デフォルトは 301 - Permanent Redirect)。次のいずれかである必要があります。

    • 301 - Permanent Redirect: ページが新しいアドレスへ恒久的に移動しました。POST リクエストでは、リダイレクトをたどるときにクライアントまたはブラウザーが HTTP メソッドを GET に切り替えることがあります。
    • 302 - Temporary Redirect: ページが新しいアドレスへ一時的に移動しました。POST リクエストでは、リダイレクトをたどるときにクライアントまたはブラウザーが HTTP メソッドを GET に切り替えることがあります。
    • 307 - Advanced: Temporary, HTTP method preserved: ページが新しいアドレスへ一時的に移動しました。リダイレクトをたどるとき、クライアントまたはブラウザーは元の HTTP メソッド(例: POST)を維持する必要があります。
    • 308 - Advanced: Permanent, HTTP method preserved: ページが新しいアドレスへ恒久的に移動しました。リダイレクトをたどるとき、クライアントまたはブラウザーは元の HTTP メソッド(例: POST)を維持する必要があります。
  • Preserve query string: リダイレクト時にクエリ文字列を残すかどうかです(デフォルトは無効)。

API 情報

ワイルドカード URL リダイレクトは、target_url.expression パラメーターで wildcard_replace() 関数を使う、通常の 動的 URL リダイレクト です。

ワイルドカード URL リダイレクトを行うリダイレクトルールの "action_parameters" フィールドの完全な構文は次のとおりです。

"action_parameters": {
  "from_value": {
    "target_url": {
      "expression": "wildcard_replace(http.request.full_uri, r\"<REQUEST_URL_PATTERN>\", r\"<TARGET_URL_PATTERN>\")"
    },
    "status_code": <STATUS_CODE>,
    "preserve_query_string": <BOOLEAN_VALUE>
  }
}

必須パラメーターは <REQUEST_URL_PATTERN><TARGET_URL_PATTERN> です。

省略可能なパラメーターには、次の値を指定できます。

  • "status_code"(整数):
    • 301(恒久的なリダイレクト)
    • 302(一時的なリダイレクト)
    • 307(一時的なリダイレクト。元の HTTP メソッドを保持)
    • 308(恒久的なリダイレクト。元の HTTP メソッドを保持)
  • "preserve_query_string"(boolean): true または false

静的 URL リダイレクト

指定した HTTP ステータスコードで静的 URL リダイレクトを行い、必要に応じてクエリ文字列を残します。

静的 URL リダイレクトには、次の設定パラメーターがあります。

  • URL: リダイレクトレスポンスで返す Location HTTP ヘッダーに使うリテラル文字列です。

  • Status code: リダイレクトレスポンスの HTTP ステータスコードです(デフォルトは 301 - Permanent Redirect)。次のいずれかである必要があります。

    • 301 - Permanent Redirect: ページが新しいアドレスへ恒久的に移動しました。POST リクエストでは、リダイレクトをたどるときにクライアントまたはブラウザーが HTTP メソッドを GET に切り替えることがあります。
    • 302 - Temporary Redirect: ページが新しいアドレスへ一時的に移動しました。POST リクエストでは、リダイレクトをたどるときにクライアントまたはブラウザーが HTTP メソッドを GET に切り替えることがあります。
    • 307 - Advanced: Temporary, HTTP method preserved: ページが新しいアドレスへ一時的に移動しました。リダイレクトをたどるとき、クライアントまたはブラウザーは元の HTTP メソッド(例: POST)を維持する必要があります。
    • 308 - Advanced: Permanent, HTTP method preserved: ページが新しいアドレスへ恒久的に移動しました。リダイレクトをたどるとき、クライアントまたはブラウザーは元の HTTP メソッド(例: POST)を維持する必要があります。
  • Preserve query string: リダイレクト時にクエリ文字列を残すかどうかです(デフォルトは無効)。

API 情報

静的 URL リダイレクトを行うリダイレクトルールの "action_parameters" フィールドの完全な構文は次のとおりです。

"action_parameters": {
  "from_value": {
    "target_url": {
      "value": "<STATIC_URL_VALUE>"
    },
    "status_code": <STATUS_CODE>,
    "preserve_query_string": <BOOLEAN_VALUE>
  }
}

必須パラメーターは <STATIC_URL_VALUE> だけです。

省略可能なパラメーターには、次の値を指定できます。

  • "status_code"(整数):
    • 301(恒久的なリダイレクト)
    • 302(一時的なリダイレクト)
    • 307(一時的なリダイレクト。元の HTTP メソッドを保持)
    • 308(恒久的なリダイレクト。元の HTTP メソッドを保持)
  • "preserve_query_string"(boolean): true または false

動的 URL リダイレクト

動的 URL リダイレクトを行います。対象 URL は式で決まります。リダイレクトの HTTP ステータスコードと、リダイレクト時にクエリ文字列を残すかどうかを設定できます。

動的 URL リダイレクトには、次の設定パラメーターがあります。

  • Expression: リダイレクトの対象 URL を定義する です。この式の評価結果が、リダイレクトレスポンスの Location HTTP ヘッダーに使われます。式で使える フィールド関数 を参照してください。

  • Status code: リダイレクトレスポンスの HTTP ステータスコードです(デフォルトは 301 - Permanent Redirect)。次のいずれかである必要があります。

    • 301 - Permanent Redirect: ページが新しいアドレスへ恒久的に移動しました。POST リクエストでは、リダイレクトをたどるときにクライアントまたはブラウザーが HTTP メソッドを GET に切り替えることがあります。
    • 302 - Temporary Redirect: ページが新しいアドレスへ一時的に移動しました。POST リクエストでは、リダイレクトをたどるときにクライアントまたはブラウザーが HTTP メソッドを GET に切り替えることがあります。
    • 307 - Advanced: Temporary, HTTP method preserved: ページが新しいアドレスへ一時的に移動しました。リダイレクトをたどるとき、クライアントまたはブラウザーは元の HTTP メソッド(例: POST)を維持する必要があります。
    • 308 - Advanced: Permanent, HTTP method preserved: ページが新しいアドレスへ恒久的に移動しました。リダイレクトをたどるとき、クライアントまたはブラウザーは元の HTTP メソッド(例: POST)を維持する必要があります。
  • Preserve query string: リダイレクト時にクエリ文字列を残すかどうかです(デフォルトは無効)。

API 情報

動的 URL リダイレクトを行うリダイレクトルールの "action_parameters" フィールドの完全な構文は次のとおりです。

"action_parameters": {
  "from_value": {
    "target_url": {
      "expression": "<DYNAMIC_URL_EXPRESSION>"
    },
    "status_code": <STATUS_CODE>,
    "preserve_query_string": <BOOLEAN_VALUE>
  }
}

必須パラメーターは <DYNAMIC_URL_EXPRESSION> だけです。

省略可能なパラメーターには、次の値を指定できます。

  • "status_code"(整数):
    • 301(恒久的なリダイレクト)
    • 302(一時的なリダイレクト)
    • 307(一時的なリダイレクト。元の HTTP メソッドを保持)
    • 308(恒久的なリダイレクト。元の HTTP メソッドを保持)
  • "preserve_query_string"(boolean): true または false

役に立ちましたか?