我有重写规则
RewriteRule ^(la|en|me)/?(.*)$ /go/$2 [R=302,L]
当用户访问/la/route-1时,它将被重定向到/go/route-1。访问/en,它将被重定向到/go/。它工作得很好,但我有一个问题:如果有人访问/eng/route-1,它将被重定向到/go/g/route-1,它不应该触发重定向。有什么想法吗?
/la/route-1
/go/route-1
/en
/go/
/eng/route-1
/go/g/route-1
v2g6jxz61#
这可能会:
RewriteRule ^(?:la|en|me)(?:/(.*))?$ /go/$1 /go/$1 [R=302,L]
捕获分隔斜线沿着要捕获的路径组件。注意:我还建议将第一个组设置为“非捕获组”((?: ... )),因为您对它当前捕获的内容不感兴趣,因此您必须在目标路径中使用$1。
(?: ... )
$1
1条答案
按热度按时间v2g6jxz61#
这可能会:
捕获分隔斜线沿着要捕获的路径组件。
注意:我还建议将第一个组设置为“非捕获组”(
(?: ... )
),因为您对它当前捕获的内容不感兴趣,因此您必须在目标路径中使用$1
。