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 |