繁体   English   中英

URL重定向规则-正则表达式-如何捕获部分URL

[英]URL Redirect Rule - Regex - How To Capture Part Of URL

我正在尝试编写一个重定向规则,该规则将仅在匹配以下语言环境时重定向用户:en-us,zh-tw,fr-be。 如果它们与这些语言环境不匹配,则规则将忽略它们。 用户将仅使用其国家代码被重定向到另一个站点。

foo.com/en-us/bar => foo2.com/us/bar2 foo.com/zh-tw/bar => foo2.com/tw/bar2 foo.com/fr-be/bar => foo2.com/be/bar2

这是我的尝试,但是我不确定如何从$ 1中提取最后两个字符:

^/?foo.com/([en-us|zh-tw|fr-be])/bar$ => http://foo2.com/$1/bar2 ^/?foo.com/[en-(us)|zh-(tw)|fr-(be)]/bar$ => http://foo2.com/$1/bar2

试试: ^/?foo.com/(en)-(us)|(zh)-(tw)|(fr)-(be)(/bar)$
$0 --> foo2.com/$2$4$6$7

在PHP中测试。 适用于所有测试用例,不包括其他组合。

如果您知道将使用两种字符语言的格式,然后是两种字符的国家/地区,则可以尝试:

给定“ foo.com/fr-be/bar”

^ /?foo.com/(\\w{2})-(\\w{2})/bar$

$ 1 == fr $ 2 ==是

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM