← Правила Cloudflare / rules / url-forwarding / bulk-redirects
Как работают Bulk Redirects
Когда запрос достигает Cloudflare, Bulk Redirects обрабатываются до того, как запрос будет отправлен на исходный сервер. Cloudflare проверяет все перенаправления URL в каждом Bulk Redirect List, включённом с помощью Bulk Redirect Rule.
Если найдено совпадение для URL-редиректа согласно Алгоритм сопоставления URL, действие перенаправления выполняется немедленно в соответствии с параметрами конфигурации перенаправления URL. После выполнения перенаправления Cloudflare не выполняет дальнейшую обработку.
Сопоставление исходного URL перенаправлений
Следующие параметры URL redirect определяют, как сопоставляются URL запроса и исходные URL настроенных (и включённых) URL redirect:
-
Сопоставление подпутей (по умолчанию: false)
-
Когда
true, перенаправление URL применяется не только к точному исходному пути, но и ко всем путям внутри него. Например, рассмотрим следующие исходный и целевой URL перенаправления:- Исходный URL:
https://example.com/foo/ - Целевой URL:
https://example.com/qux/
- Исходный URL:
-
При такой конфигурации и Сопоставление подпутей при включённом параметре входящий запрос к
example.com/foo/barбудет перенаправлен наhttps://example.com/qux/bar.
-
-
Включить поддомены (по умолчанию: false)
-
Когда
true, перенаправление URL соответствует не только точному имени хоста в исходном URL, но и любым его поддоменам. Например, рассмотрим следующие исходный и целевой URL перенаправления:- Исходный URL:
https://example.com/about - Целевой URL:
https://example.com/newpage
- Исходный URL:
-
При такой конфигурации и Включает поддомены при включённом параметре входящие запросы к
http://a.example.com/aboutиhttp://a.b.example.com/aboutтакже будет соответствовать, помимо указанного домена без поддомена (https://example.com/about).
-
Подробные сведения об этих параметрах см. в Параметры URL redirect.
Настройка поведения пути и строки запроса
Следующие параметры определяют, как Cloudflare вычисляет путь и строку запроса конечного целевого URL:
-
Сохранять строку запроса (по умолчанию: false)
-
Когда
true, итоговый целевой URL сохраняет строку запроса исходного запроса. Например, рассмотрим следующие исходный и целевой URL перенаправления:- Исходный URL:
https://example.com/about - Целевой URL:
https://example.com/newpage
- Исходный URL:
-
При такой конфигурации и Сохранять строку запроса при включённом параметре входящий запрос к
http://example.com/about?q=termбудет перенаправлен наhttps://example.com/newpage?q=term. Если Сохранять строку запроса отключено, тот же входящий запрос будет перенаправлен наhttps://example.com/newpage.
-
-
Сохранять суффикс пути (по умолчанию: true)
-
Когда
true, итоговый целевой URL включает оставшиеся сегменты пути (части пути запроса, не совпавшие с исходным 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. -
Если вы зададите Сохранять суффикс пути к
false, тот же запрос по-прежнему будет соответствовать перенаправлению, но будет перенаправлен наhttps://example.com/b/.
-
Подробные сведения об этих параметрах см. в Параметры URL redirect.
Алгоритм сопоставления URL
URL входящего запроса совпадает с URL redirect из списка, если:
-
Схема (
httpилиhttps) совпадает с исходным URL-адресом определения перенаправления URL-адреса. Исходные URL-адреса без схемы будут соответствовать какhttpиhttps. -
Имя хоста совпадает с именем хоста в исходном URL определения URL redirect. Если Включить поддомены включено, поддомены имени хоста в определении редиректа также будут соответствовать.
-
Путь совпадает с исходным URL. Если Сопоставление подпутей включено, Cloudflare также учитывает подпути пути в исходном URL редиректа URL при определении совпадения. Например, редирект URL с исходным URL, заданным как
example.com/blogтакже будет соответствовать запросам кexample.com/blog/fooиexample.com/blog/bar.
Как определяется, какой URL redirect применить
Если могут применяться несколько URL-редиректов, то какой из них сработает, определяется по следующим правилам:
-
При наличии двух перенаправлений URL с Сопоставление подпутей при включённом параметре перенаправление URL с наиболее точным путем имеет приоритет над другим перенаправлением URL.
Если есть два URL redirects с одинаковыми путями source URL/folderи/folder/subfolder, входящий запрос к/folder/subfolder/itemпуть URL будет соответствовать второму перенаправлению (/folder/subfolder) поскольку оно более специфично. -
URL redirects с точным именем хоста имеют приоритет над URL redirects с Включить поддомены параметр включён.
-
При наличии двух перенаправлений URL с Включить поддомены при включённом параметре URL с наиболее точным доменом имеет приоритет над другим перенаправлением URL.
Если есть два URL redirects с одинаковыми именами хостов source URLbar.comиfoo.bar.com, входящий запрос наqux.foo.bar.comбудет соответствовать второму перенаправлению (foo.bar.com) поскольку оно более специфично. -
URL redirects с определённой схемой (либо
httpилиhttps) имеют приоритет над редиректами URL, которые соответствуют обеим схемам.