$args 値に応じて書き換えを作成するために、nginx とそのマップ モジュール ( http://wiki.nginx.org/HttpMapModule ) を使用しています。私の設定は次のようになります:
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;
}
問題は、ディレクティブ内に含めた file.conf 内で正規表現を使用できmap
ますか? だから私は次のようなものを書くことができます
~^foo=1(&<suffix>.*)$ /url1?$suffix;
したがって、/url1 にリダイレクトするときに他のすべての引数が保持されます。
よろしくお願いします。