Example rules
The following sections contain example single redirect rule configurations.
Redirect visitors to the new URL of a page
This example static redirect for zone example.com
will redirect visitors requesting the /contact-us/
page to the new page URL /contacts/
.
When incoming requests match
- Field: URI Path
- Operator: equals
- Value:
/contact-us/
If you are using the Expression Editor, enter the following expression:http.request.uri.path eq "/contact-us/"
Then
- Type: Static
- URL:
/contacts/
- Status code: 301
- Preserve query string: Enabled
For example, the redirect rule would perform the following redirects:
Request URL | Target URL | Status code |
---|---|---|
example.com/contact-us/ | example.com/contacts/ | 301 |
example.com/contact-us/?state=TX | example.com/contacts/?state=TX | 301 |
example.com/team/ | (unchanged) | n/a |
Redirect UK and France visitors to their specific subdomains
This example dynamic redirect for zone example.com
will redirect United Kingdom and France visitors requesting the website’s root path (/
) to their localized subdomains https://gb.example.com
and https://fr.example.com
, respectively.
When incoming requests match
Using the Expression Editor:(ip.geoip.country eq "GB" or ip.geoip.country eq "FR") and http.request.uri.path eq "/"
Then
- Type: Dynamic
- Expression:
lower(concat("https://", ip.geoip.country, ".example.com"))
- Status code: 301
For example, the redirect rule would perform the following redirects:
Visitor country | Request URL | Target URL | Status code |
---|---|---|---|
United Kingdom | example.com | https://gb.example.com | 301 |
France | example.com | https://fr.example.com | 301 |
United States | example.com | (unchanged) | n/a |
Remove locale information from URL path
This example dynamic redirect for zone example.com
will redirect visitors from an old URL format that included the locale (for example, /en-us/<page_name>
) to the new format /<page_name>
.
When incoming requests match
- Field: URI Path
- Operator: matches regex
- Value:
^/[A-Za-z]{2}-[A-Za-z]{2}/
If you are using the Expression Editor, enter the following expression:http.request.uri.path matches "^/[A-Za-z]{2}-[A-Za-z]{2}/"
Then
- Type: Dynamic
- Expression:
regex_replace(http.request.uri.path, "^/[A-Za-z]{2}-[A-Za-z]{2}/(.*)", "/${1}")
- Status code: 301
- Preserve query string: Enabled
The function regex_replace()
allows you to extract parts of the URL using regular expressions’ capture groups. Create capture groups by putting part of the regular expression in parentheses. Then, reference a capture group using ${<num>}
in the replacement string, where <num>
is the number of the capture group.
For example, the redirect rule would perform the following redirects:
Request URL | Target URL | Status code |
---|---|---|
example.com/en-us/meet-our-team | example.com/meet-our-team | 301 |
example.com/pt-BR/meet-our-team | example.com/meet-our-team | 301 |
example.com/en-us/calendar?view=month | example.com/calendar?view=month | 301 |
example.com/meet-our-team | (unchanged) | n/a |
example.com/robots.txt | (unchanged) | n/a |