Skip to main content

Edit Redirection V2

This API is used to edit redirection for website acceleration service.

Request

Request-Line

PUT /cdn/v1.1/services/{serviceId}/redirections/{policyId} HTTP/1.1

Request Parameters

Path Parameters

ParameterTypeRequiredDescription
serviceIdIntegerMandatoryService ID.
policyIdIntegerMandatoryPolicy ID number for redirection.

Body Parameters

ParameterTypeRequiredDescription
policyNameStringMandatoryPolicy name for redirection.
matchesArrayMandatoryMatching configuration that determines which requests the rule applies to. See Matches for details.
redirectDestinationStringMandatorySend an HTTP redirect if this policy matches.
httpCodeIntegerMandatoryHTTP response code to use if sending an HTTP redirect. Could be "301/302".
priorityIntegerMandatoryPriority weight for the rule. Rules with a higher weight take precedence. The weight must be non-zero.
enabledBooleanOptionalFlag defining if policy is active or no. Default is true.
Object: Matches
ParameterTypeRequiredDescription
ArrayMandatorySee Match for details.
Object: Match
ParameterTypeRequiredDescription
fieldStringMandatoryWhich part of the request to match. Supported values:
req.path - Request path (excluding query string).
req.query - Request query parameters.
req.method - HTTP method (GET, POST, etc.).
client.ip - Client IP address.
req.host - Request host.
req.header.user-agent - User-Agent header.
req.header.cookie - Cookie header.
req.header.origin - Origin header.
req.header.via - Via header.
operatorStringMandatoryDefines how to match the field. Supported values:
startswith - Succeeds if the what matches one of the prefixes listed in patterns.
not_startswith - Matches if field value does not starts with any of the specified prefixes.
istartswith - Case-independent version of startswith.
not_istartwith - Matches if the field value does not starts with any of the specified prefixes, ignoring letter case differences.
regex - Succeeds if what matches one of the regexes listed in patterns.
equals - Succeeds if the what matches one of the strings listed in patterns.
not_equals - Succeeds if the field value does not exactly match any of the specified strings.
iequals - Case-independent version of equals.
not_iequals - Succeeds if the field value does not exactly match any of the specified strings,ignoring letter case differences.
endswith - Succeeds if the what ends with one of the strings listed in patterns. Useful e.g. to match file extensions like ".mp4".
not_endswith - Succeeds if the what does not ends with one of the strings listed in patterns.
iendswith - Case-independent version of endswith.
not_iendswith - Succeeds if the what does not ends with one of the strings listed in patterns,ignoring letter case differences.
subnet - Succeeds if the what belongs to one of subnets, specified in patterns, like "1.222.94.98/32".
not_subnet - Succeeds if the what does not belongs to one of subnets.
Note: subnet operator is applicable only to the client.ip match option.
valuesString[]MandatoryList of values matching the URL path string.

Response

Reponse Body

ParameterTypeDescription
policyNameStringPolicy name for redirection.
matchesArrayMatching configuration that determines which requests the rule applies to. See Matches for details.
redirectDestinationStringSend an HTTP redirect if this policy matches.
httpCodeIntegerHTTP response code to use if sending an HTTP redirect. Could be "301/302".
priorityIntegerPriority weight for the rule. Rules with a higher weight take precedence. The weight must be non-zero.
enabledBooleanFlag defining if policy is active or no. Default is true.

Status Codes, Error Codes and Error Messages

Status CodeError CodeError Message
400Request.BadRequestBad request.
400InvalidCustomer.IdEmptyCustomer id can be empty or invalid.
400InvalidService.IdIncorrectService id is empty or invalid.
400ServiceId.IdPermissionServiceId can not be found or unknown.
400InvalidRedirection.PolicyNamePolicy name is required.
400InvalidRedirection.MatchURLIncorrectThe matchUrlPath can not be empty.
400InvalidRedirection.OperatorOperator must be one of the following: prefix,regex,equals or suffix.
400InvalidRedirection.MatchUrlPathPatternsIncorrectThe MatchUrlPath patterns could not be empty.
400InvalidRedirection.URLEmptyPolicy redirection URL is empty.
400InvalidRedirection.HttpCodeEmptyPolicy redirection http code is empty.
400InvalidRedirection.HttpCodePolicy redirection http code type is 301 or 302.
400InvalidRedirection.PriorityPatterns cannot be empty or invalid.
400InvalidPolicy.MatchesIncorrectThe matches can not be empty or incorrect.
400InvalidPolicy.MatchFieldIncorrectThe match field can not be empty or use the specified value.
400InvalidPolicy.MatchOperatorIncorrectThe match operator required or use the specified value.
400InvalidPolicy.MatchValuesIncorrectThe match values required or can not be empty.
400InvalidPolicy.MatchValueIncorrectAll match values must not be empty.

Examples

Edit Redirection V2

Request

PUT /cdn/v1.1/services/229033/redirections/262286  HTTP/1.1

{
"policyName":"redo",
"matches":[
{
"field":"req.path",
"operator":"startswith",
"values":["/css/","/images/abc/"]
},
{
"field":"req.host",
"operator":"iequals",
"values":["expamle.com"]
}

],
"priority":1,
"redirectDestination":"www.domain333.com",
"httpCode":302,
"enabled":true
}

Successful Response Body

{
"policyId": 262286,
"policyName": "redo",
"redirectDestination": "www.domain333.com",
"httpCode": 302,
"matches": [
{
"field": "req.path",
"operator": "startswith",
"values": [
"/css/",
"/images/abc/"
]
},
{
"field": "req.host",
"operator": "iequals",
"values": [
"expamle.com"
]
}
],
"priority": 1,
"enabled": true
}