静的 URL 書き換えと動的 URL 書き換えでは、パラメーターが異なります。
- 静的 URL 書き換えでは、ターゲット URL に静的な値が必要です。
- 動的 URL 書き換えでは、評価するとターゲット URL を決める式が必要です。
ワイルドカードパターン付きの URL 書き換えは、ワイルドカードの照合と置換 を使う動的 URL 書き換えを、Cloudflare ダッシュボードで簡単に作るためのインターフェイスです。
URL 書き換えのすべてのパラメーター値(合計)の最大長は 4,096 文字です。たとえば、URI パスの静的な値(または式)を 2,048 文字、クエリ文字列の静的な値(または式)を 2,048 文字にできます。
URI パスとクエリ文字列の両方を書き換える静的 URL 書き換えルールの action_parameters フィールドの完全な構文は次のとおりです。
"action_parameters": {
"uri": {
"path": {
"value": "<URI_PATH_VALUE>"
},
"query": {
"value": "<QUERY_STRING_VALUE>"
}
}
}URI パスだけ、またはクエリ文字列だけを書き換える場合は、それぞれ query または path パラメーターを省略します。
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 を選んだときに使えるフィールドに対応します。詳細は ワイルドカードパターンのパラメーター を参照してください。
同じルールで、URI パスとクエリ文字列に異なる種類の URL 書き換えを使えます。たとえば、1 つのルールで URI パスは動的 URL 書き換え、クエリ文字列は静的 URL 書き換えにできます。そのようなルールの構文は次のとおりです。
"action_parameters": {
"uri": {
"path": {
"expression": "<URI_PATH_EXPRESSION>"
},
"query": {
"value": "<QUERY_STRING_VALUE>"
}
}
}