nginx地图variables查找基于url或主机名+ uri(不是主机名)

我们运行Magento,直到date取决于主机名variables设置决定哪个商店显示。 下面的例子。

map $http_host $storecode { domain.com store1_en; otherdomain.com store2_en; } 

现在,使用(2个字符)语言代码(如“en”,“de”或“fr”)和url成为domain.com/en或otherdomain.com/fr来设置新商店。

对于上面的工作,地图查找应该被改变,不再应该使用服务器名称的主机,而是URL的第一部分….并且也以正确的顺序….

问题:这怎么能实现? 还是有人做过这个?


结果,我们正在寻找下面的映射

  • domain.com/en => store1_fr
  • domain.com => store1_en
  • otherdomain.com => store2_en

一些想法作为解决scheme:

 map $uri $storecode { ^domain.com/en.* store1_fr; ^domain.com.* store1_en; ^otherdomain.com.* store2_en; } map $http_host$uri $storecode { ^domain.com/en.* store1_fr; ^domain.com.* store1_en; ^otherdomain.com.* store2_en; } 

或者我正在考虑MAP内的MAP?

或者从$ uri中捕获前两个字母(并且仅当它有两个字母来排除其他子目录请求时)

帮助赞赏