【问题标题】:nginx redirect based on domain and amend the urlnginx基于域重定向并修改url
【发布时间】:2016-10-10 19:26:40
【问题描述】:

我有几个服务器名称,如 www.example.com example.com www.example.de example.de。如果没有参数,我想将语言修改为 URL 例如

www.example.com ---> www.example.com?language=en

example.de ---> example.de?language=de

毕业生

【问题讨论】:

    标签: redirect nginx url-rewriting


    【解决方案1】:

    您可以通过将$args 与空字符串进行比较来测试是否缺少参数。例如:

    if ($args = "") { 
        return 301 $scheme://$host$request_uri?language=en; 
    }
    

    如果您的域在不同的server 块中实现,您可以适当地自定义return 语句。

    如果您需要在支持多个主机名的单个server 块中实现所有这些,您可能需要使用map 指令来计算语言参数的值。请参阅this document 了解更多信息。

    这不是一个完美的解决方案,因为边缘条件www.example.com? 将导致www.example.com??language=en 看起来不太好。

    【讨论】:

      猜你喜欢
      • 2022-09-28
      • 2017-12-26
      • 2016-12-16
      • 1970-01-01
      • 2015-05-30
      • 2019-11-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多