Redirect nginx重定向旧站点URL并仅修改1个语言后缀
我想将旧站点URL重定向到新站点。但新网站有不同的页面名称,语言字符也发生了变化 例如:Redirect nginx重定向旧站点URL并仅修改1个语言后缀,redirect,nginx,Redirect,Nginx,我想将旧站点URL重定向到新站点。但新网站有不同的页面名称,语言字符也发生了变化 例如: map $request_uri $redirect_uri { ~*(?<lang>/\w\w/)about/info/ com/information/; } en/about/info将重定向到en/com/information map $request_uri $redirect_uri { <lang>/about/info/ $lang/com/informatio
map $request_uri $redirect_uri {
~*(?<lang>/\w\w/)about/info/ com/information/;
}
en/about/info
将重定向到en/com/information
map $request_uri $redirect_uri {
<lang>/about/info/ $lang/com/information/
}
但是
ge/about/info
将转到ka/com/information
map $request_uri $redirect_uri {
<lang>/about/info/ $lang/com/information/
}
map$request\u uri$redirect\u uri{
/关于/info/$lang/com/information/
}
你知道我该怎么做吗?有很多URL,所以我不想为每种语言编写这些URL硬编码。map指令可以捕获正则表达式的一部分,但不能在映射结果中使用该捕获 因此,可以创建名为
lang
(例如)的命名捕获,并在计算映射变量后使用它。例如:
map $request_uri $redirect_uri {
~*(?<lang>/\w\w/)about/info/ com/information/;
}
请注意,$lang
仅在if
语句中计算了$redirect\u uri
的值后创建
有关详细信息,请参阅