我尝试使用location
来检测当前的语言环境,并在我的Nginx配置文件中传输(重写)请求。
这是一个我的配置:
location /ru
{
rewrite ^/ru/(.*)$ /$1?local=ru;
rewrite ^/ru /?local=ru;
}
因此,我打算将domain.tld/ru/blog
更改为domain.tld/blog?locale=ru
。
但我遇到了一个问题。例如,URL domain.tld/russell
会干扰此配置博客。
我希望能够得到更具体的location
语法。我想告诉Nginx只运行这个块,如果URL以两个字母的ru
路径段开头。
我该怎么做?
1条答案
按热度按时间ssm49v7z1#
要匹配
/ru
和/ru/foo
,但不匹配/rufoo
,可以使用正则表达式位置。但请注意,正则表达式位置的计算顺序是重要的。或者,使用两个位置块: