← Правила Cloudflare / rules / transform / url-rewrite / reference
Параметры URL rewrite
Статическая и динамическая перезапись URL используют разные параметры:
- Для статического URL rewrite требуется статическое значение целевого URL.
- Для динамического URL rewrite требуется выражение, результат вычисления которого определит целевой URL.
URL rewrite с шаблонами подстановочных знаков представляет собой упрощенный интерфейс в панели управления Cloudflare для создания динамических URL rewrite с сопоставление и замена с подстановочными знаками.
Максимальная суммарная длина значений всех параметров в одном правиле URL Rewrite составляет 4,096 символов. Например, вы можете указать статическое значение (или выражение) длиной 2,048 символов для пути URI и статическое значение (или выражение) длиной 2,048 символов для строки запроса.
Информация об API
Статическая перезапись URL
Полный синтаксис action_parameters поле для правила статической перезаписи URL, которое переписывает и путь URI, и строку запроса, выглядит следующим образом:
"action_parameters": {
"uri": {
"path": {
"value": "<URI_PATH_VALUE>"
},
"query": {
"value": "<QUERY_STRING_VALUE>"
}
}
}Если вы переписываете только путь URI или строку запроса, не указывайте query или path параметр соответственно.
Динамические URL rewrites
Полный синтаксис action_parameters поле для правила динамической перезаписи URL, которое переписывает и путь URI, и строку запроса, выглядит следующим образом:
"action_parameters": {
"uri": {
"path": {
"expression": "<URI_PATH_EXPRESSION>"
},
"query": {
"expression": "<QUERY_STRING_EXPRESSION>"
}
}
}Если вы переписываете только путь URI или строку запроса, не указывайте query или path параметр соответственно.
Сопоставление и замена по подстановочным символам
Синтаксис динамического правила переписывания URL, которое изменяет и URI-путь, и строку запроса на основе сопоставления с символами подстановки и их замены, выглядит так:
{
"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> значения-заполнители соответствуют полям, доступным в панели управления Cloudflare при выборе Шаблон с подстановочными символами параметр. Дополнительную информацию см. в Параметры шаблона с подстановочными символами.
Разные типы URL rewrite в одном правиле
Одно и то же правило может по-разному переписывать URI-путь и строку запроса. Например, одно правило может выполнять динамический перезапись URL для пути URI и статический перезапись URL для строки запроса. Синтаксис такого правила будет выглядеть следующим образом:
"action_parameters": {
"uri": {
"path": {
"expression": "<URI_PATH_EXPRESSION>"
},
"query": {
"value": "<QUERY_STRING_VALUE>"
}
}
}