nginx 重写路由以将所有 .com/en 页面重定向到 .com 版本

nginx Rewrite routes to redirect all .com/en pages to the .com version

之前可能有人问过这个问题,但我找不到有效的解决方案。

一个网站支持多种语言,默认英语。如何设置 nginx 重写命令以将 .com/en/ 路由到 .com

例如

URL
 http://www.tender.com/en/any_path

Redirect URL:
 http://www.tender.com/any_path

请注意,我只希望 /en(英语)在没有 /en 的情况下路由到,而所有其他语言都应该可以通过它的短裤访问,例如 /fr

我正在使用以下工具:

更新:

location /en {
  rewrite ^/en(/.*)$  break;
}

试试这个:

location /en {
  rewrite ^/en(/.*)$  last;
}

我就是这样解决的。如果有人遇到同样的问题,可以尝试查看此解决方案是否有帮助。

我把它放在一个单独的位置块中。

location /en {
  rewrite ^/en(/.*)$  redirect;
 }