我想在网址上添加en-us
语言代码。期望如下。
当用户点击http://example.com/时,页面应将用户重定向到http://example.com/en-us/ 注意:我已使用以下代码实现此目的。
location = / {
rewrite ^ /en-us/ redirect;
}
如何将客户重定向到以下方案
简单地说,我想要实现的是如果url中没有en-us
,那么我们应该在XX-XX位置添加en-us。 http://example.com/XX-XX/contact
答案 0 :(得分:1)
# Do nothing for assets (paths with a dot)
location ~ \. {
}
您可以使用否定前瞻性正则表达式(?!
)匹配不以所需路径开头的位置
# Paths that don't start with /en-us/ are redirected:
location ~ ^(?!/en-(us|in)/) {
rewrite ^/(.*)$ /en-us/$1 redirect;
}
或使用if
块:
if ($request_uri !~ "^/en-(us|in)/")
{
return 301 /en-us/$request_uri;
}
答案 1 :(得分:0)
你读过rewrite documentation了吗?那里有很多类似的例子。
这是我做的(未经测试)。
# Do not redirect /
location = / {
}
# Redirect everything else to /en-us/...
location / {
rewrite ^/(.*)$ /en-us/$1 redirect;
}