本示例针对 zone example.com 的单条重定向,会将访问者从包含区域设置(locale)的旧 URL 格式(例如 /en-us/<page_name>)重定向到新格式 /<page_name>。
When incoming requests match(当传入请求匹配时)
- Field: URI Path
- Operator: matches regex
- Value:
^/[A-Za-z]{2}-[A-Za-z]{2}/
如果你使用 Expression Editor,请输入以下表达式:
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
函数 regex_replace() 允许你使用正则表达式的捕获组提取 URL 的部分内容。将正则表达式的一部分放在括号中即可创建捕获组。然后在替换字符串中使用 ${<num>} 引用捕获组,其中 <num> 为捕获组编号。
例如,该重定向规则会执行以下重定向:
| 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 |