Skip to content

Remove locale from URL path

Create a redirect rule to redirect visitors from an old URL format with locale information to a new URL format.

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>.

Example

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 URLTarget URLStatus code
example.com/en-us/meet-our-teamexample.com/meet-our-team301
example.com/pt-BR/meet-our-teamexample.com/meet-our-team301
example.com/en-us/calendar?view=monthexample.com/calendar?view=month301
example.com/meet-our-team(unchanged)n/a
example.com/robots.txt(unchanged)n/a