我正在使用 nginx 及其地图模块(http://wiki.nginx.org/HttpMapModule)根据 $args 值创建重写。我的配置如下所示:
nginx.conf
map $args $myvar {
default 0;
include /path/to/file.conf;
}
file.conf 有类似的东西:
foo=1 /url1;
foo=2 /url2;
....
foo=n /urln;
之后我使用 $myvar 进行这样的重定向
location = /somepage.html {
if ($myvar !~ 0) {
rewrite ^ $myvar? permanent;
}
rewrite ^ /mydefaultpage/? permanent;
}
问题是:我可以在我的map
指令中包含的 file.conf 中使用正则表达式吗?所以我可以写类似的东西
~^foo=1(&<suffix>.*)$ /url1?$suffix;
从而在重定向到 /url1 时保留所有其他参数。
在此先感谢您的帮助!