Nginx地理模块赢得';不使用变量?
当我尝试运行nice向我的站点添加地理功能时,我注意到了奇怪的nginx1.13.6行为。我怀疑这是否是有意的,或者我有办法使用 以下是配置示例:Nginx地理模块赢得';不使用变量?,nginx,geo,Nginx,Geo,当我尝试运行nice向我的站点添加地理功能时,我注意到了奇怪的nginx1.13.6行为。我怀疑这是否是有意的,或者我有办法使用 以下是配置示例: geo $city { ranges; default $city_mm; include geo/city.txt; } geo $city_mm { ranges; include geo/mm_city.txt; } 也就是说,如果无法计算/找到$city的值,则它应该返回$city\u mm的内容,
geo $city {
ranges;
default $city_mm;
include geo/city.txt;
}
geo $city_mm {
ranges;
include geo/mm_city.txt;
}
也就是说,如果无法计算/找到$city
的值,则它应该返回$city\u mm
的内容,但当我使用nginx运行它时,它只返回字符串$city\u mm
(正是这个字符串,而不是该名称变量的内容),而$city_mm
则是当时定义的
我看不到与此相关的问题,所以我只是想问一下,我是否有办法做到这一点,可能是以不同的方式?因此,总结一下@alexander的外部链接中的解决方案,Nginx(目前)不支持地理地图的动态默认设置,因此您必须使用常规地图的默认功能
geo $city_geo {
ranges;
include geo/city.txt;
}
geo $city_mm {
ranges;
include geo/mm_city.txt;
}
map $city_geo $city {
"" $city_mm;
default $city_geo;
}
我也有同样的问题。找不到解决方案。@Carl Author在项目描述中添加了语法,请执行以下操作: