【问题标题】:nginx Rewrite routes to redirect all .com/en pages to the .com versionnginx 重写路由以将所有 .com/en 页面重定向到 .com 版本
【发布时间】:2020-03-05 18:52:28
【问题描述】:

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

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

例如

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

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

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

我正在使用以下工具:

  • nginx(nginx/1.17.3)
  • ruby(2.5.7)
  • Rails(5.1.6.2)

【问题讨论】:

    标签: ruby nginx nginx-location nginx-config


    【解决方案1】:

    更新:

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

    试试这个:

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

    【讨论】:

    • 它似乎不起作用。我把它保存在server {} 块中
    【解决方案2】:

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

    我将它保存在一个单独的位置块中。

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-03-22
      • 1970-01-01
      • 2020-09-09
      • 2017-04-20
      • 2019-08-20
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多