经过长达301年的奋斗,site.com
重定向到site.com/en
,site.com/my-page
重定向到site.com/en/my-page
我设法使第一个重定向起作用,但没有使第二个重定向起作用!也可能只使用一条规则吗?那么我的第二条规则怎么了?
rewrite "^/(?![a-z]{2}|[a-z]{2}-[a-z]{2})$" /en redirect;
rewrite "^/(?![a-z]{2}|[a-z]{2}-[a-z]{2})/(.*)$" /en/$2 redirect;
非常感谢。
答案 0 :(得分:0)
第二个正则表达式中没有2个捕获组,只有一个。第一对括号中有一个负前瞻,它不会创建捕获组。这就是为什么您不能在重定向中使用$ 2的原因。
已更新
此重定向应替换您的两条规则:
pip install git+...
答案 1 :(得分:0)
我认为您可以通过定义相关位置来从另一个角度进行研究,例如:
location / {
return 301 /en$request_uri;
}
location = /my-page {
return 301 /en/my-page;
}
location /en/ {
...
}