リクエストが Cloudflare に届くと、オリジンサーバーへ送られる前に Bulk Redirects が評価されます。Cloudflare は、Bulk Redirect Rule で有効になっている各 Bulk Redirect List のすべての URL リダイレクトを確認します。
URL 照合アルゴリズム に従って URL リダイレクトが一致すると、その URL リダイレクトの設定パラメーターに従い、すぐにリダイレクトアクションが実行されます。リダイレクトアクションが実行されると、Cloudflare はそれ以上の処理を行いません。
次の URL リダイレクトパラメーターは、リクエスト URL と、設定済み(かつ有効)な URL リダイレクトのソース URL の照合動作を制御します。
-
Subpath matching(サブパス照合) (default: false)
-
trueのとき、URL リダイレクトは正確なソースパスだけでなく、その配下のすべてのパスにも適用されます。たとえば、次のソース URL とターゲット URL の URL リダイレクトを考えます。- ソース URL:
https://example.com/foo/ - ターゲット URL:
https://example.com/qux/
- ソース URL:
-
この設定で Subpath matching を有効にすると、
example.com/foo/barへの受信リクエストはhttps://example.com/qux/barにリダイレクトされます。
-
-
Include subdomains(サブドメインを含める) (default: false)
-
trueのとき、URL リダイレクトはソース URL の正確なホスト名だけでなく、そのサブドメインにも一致します。たとえば、次のソース URL とターゲット URL の URL リダイレクトを考えます。- ソース URL:
https://example.com/about - ターゲット URL:
https://example.com/newpage
- ソース URL:
-
この設定で Include subdomains を有効にすると、指定ドメイン(サブドメインなしの
https://example.com/about)に加え、http://a.example.com/aboutとhttp://a.b.example.com/aboutへの受信リクエストも一致します。
-
これらのパラメーターの詳細は URL リダイレクトパラメーター を参照してください。
次のパラメーターは、最終的なターゲット URL のパスとクエリ文字列を Cloudflare がどう決めるかを設定します。
-
Preserve query string(クエリ文字列を保持) (default: false)
-
trueのとき、最終的なターゲット URL は元のリクエストのクエリ文字列を保持します。たとえば、次のソース URL とターゲット URL の URL リダイレクトを考えます。- ソース URL:
https://example.com/about - ターゲット URL:
https://example.com/newpage
- ソース URL:
-
この設定で Preserve query string を有効にすると、
http://example.com/about?q=termへの受信リクエストはhttps://example.com/newpage?q=termにリダイレクトされます。Preserve query string が無効な場合、同じ受信リクエストはhttps://example.com/newpageにリダイレクトされます。
-
-
Preserve path suffix(パスサフィックスを保持) (default: true)
-
trueのとき、最終的なターゲット URL には残りのパスセグメント(リクエストパスのうち、URL リダイレクトのソース URL に一致しなかった部分)が含まれます。 -
Subpath matching が有効なとき、一致しなかったパスが最終的なターゲット URL にコピーされます。たとえば、次のソース URL とターゲット URL の URL リダイレクトを考えます。
- ソース URL:
https://example.com/a/ - ターゲット URL:
https://example.com/b/
- ソース URL:
-
https://example.com/a/fooへの受信リクエストはhttps://example.com/b/fooにリダイレクトされます。 -
Preserve path suffix を
falseにすると、同じリクエストはリダイレクトに一致しますが、https://example.com/b/にリダイレクトされます。
-
これらのパラメーターの詳細は URL リダイレクトパラメーター を参照してください。
受信リクエストの URL がリスト内の URL リダイレクトに一致するのは、次の場合です。
-
スキーム(
httpまたはhttps)が URL リダイレクト定義のソース URL と同じです。スキームのないソース URL はhttpとhttpsの両方に一致します。 -
ホスト名が URL リダイレクト定義のソース URL のホスト名と同じです。Include subdomains が有効な場合、リダイレクト定義のホスト名のサブドメインも一致します。
-
パスがソース URL と同じです。Subpath matching が有効な場合、Cloudflare は一致判定時に URL リダイレクトのソース URL のサブパスも考慮します。たとえば、ソース URL が
example.com/blogの URL リダイレクトは、example.com/blog/fooとexample.com/blog/barへのリクエストにも一致します。
複数の URL リダイレクトが適用できる場合、次の規則で勝ち残るリダイレクトが決まります。
-
Subpath matching が有効な 2 つの URL リダイレクトがあるとき、より具体的なパスの URL リダイレクトが優先されます。
ソース URL パスが/folderと/folder/subfolderの 2 つがある場合、/folder/subfolder/itemへの受信リクエストは、より具体的な 2 番目のリダイレクト(/folder/subfolder)に一致します。 -
正確なホスト名の URL リダイレクトは、Include subdomains が有効な URL リダイレクトより優先されます。
-
Include subdomains が有効な 2 つの URL リダイレクトがあるとき、より具体的なドメインの URL が優先されます。
ソース URL ホスト名がbar.comとfoo.bar.comの 2 つがある場合、qux.foo.bar.comへの受信リクエストは、より具体的な 2 番目のリダイレクト(foo.bar.com)に一致します。 -
特定のスキーム(
httpまたはhttps)の URL リダイレクトは、両方のスキームに一致する URL リダイレクトより優先されます。