Skip to content

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

URL 書き換えパラメーター

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

静的 URL 書き換えと動的 URL 書き換えでは、パラメーターが異なります。

  • 静的 URL 書き換えでは、ターゲット URL に静的な値が必要です。
  • 動的 URL 書き換えでは、評価するとターゲット URL を決める式が必要です。

ワイルドカードパターン付きの URL 書き換えは、ワイルドカードの照合と置換 を使う動的 URL 書き換えを、Cloudflare ダッシュボードで簡単に作るためのインターフェイスです。

URL 書き換えのすべてのパラメーター値(合計)の最大長は 4,096 文字です。たとえば、URI パスの静的な値(または式)を 2,048 文字、クエリ文字列の静的な値(または式)を 2,048 文字にできます。

API 情報

静的 URL 書き換え

URI パスとクエリ文字列の両方を書き換える静的 URL 書き換えルールの action_parameters フィールドの完全な構文は次のとおりです。

"action_parameters": {
  "uri": {
    "path": {
      "value": "<URI_PATH_VALUE>"
    },
    "query": {
      "value": "<QUERY_STRING_VALUE>"
    }
  }
}

URI パスだけ、またはクエリ文字列だけを書き換える場合は、それぞれ query または path パラメーターを省略します。

動的 URL 書き換え

URI パスとクエリ文字列の両方を書き換える動的 URL 書き換えルールの action_parameters フィールドの完全な構文は次のとおりです。

"action_parameters": {
  "uri": {
    "path": {
      "expression": "<URI_PATH_EXPRESSION>"
    },
    "query": {
      "expression": "<QUERY_STRING_EXPRESSION>"
    }
  }
}

URI パスだけ、またはクエリ文字列だけを書き換える場合は、それぞれ query または path パラメーターを省略します。

ワイルドカードの照合と置換

ワイルドカードの照合と置換にもとづき、URI パスとクエリ文字列の両方を書き換える動的 URL 書き換えルールの構文は次のとおりです。

{
	"expression": "(http.request.full_uri wildcard r\"<REQUEST_URL>\")",
	"action_parameters": {
		"uri": {
			"path": {
				"expression": "wildcard_replace(http.request.uri.path, r\"<PATH_TARGET_PATH>\", r\"<PATH_REWRITE_TO>\")"
			},
			"query": {
				"expression": "wildcard_replace(http.request.uri.query, r\"<QUERY_TARGET_QUERY>\", r\"<QUERY_REWRITE_TO>\")"
			}
		}
	},
	"action": "rewrite"
	// ...
}

<REQUEST_URL><PATH_TARGET_PATH><PATH_REWRITE_TO><QUERY_TARGET_QUERY><QUERY_REWRITE_TO> のプレースホルダーは、ダッシュボードで Wildcard pattern を選んだときに使えるフィールドに対応します。詳細は ワイルドカードパターンのパラメーター を参照してください。

同じルール内の異なる URL 書き換え種類

同じルールで、URI パスとクエリ文字列に異なる種類の URL 書き換えを使えます。たとえば、1 つのルールで URI パスは動的 URL 書き換え、クエリ文字列は静的 URL 書き換えにできます。そのようなルールの構文は次のとおりです。

"action_parameters": {
  "uri": {
    "path": {
      "expression": "<URI_PATH_EXPRESSION>"
    },
    "query": {
      "value": "<QUERY_STRING_VALUE>"
    }
  }
}

役に立ちましたか?