проблема с rewrite и query_string
Andrei Nigmatulin
andrei.nigmatulin at gmail.com
Fri Nov 2 01:57:36 MSK 2007
Привет !
Столкнулся с такой проблемой:
Если делать
rewrite ^ /path/file?query_string last;
открытым текстом, то все работает как и ожидается - ищется location для
"/path/file", а query_string при обращении к статике отбрасывается.
Если уже имеется переменная для перезаписываемого урла
set $myurl "/path/file?query_string";
rewrite ^ $myurl last;
то location ищется для "/path/file?query_string", хотя судя по документации,
не должен.
Мало того, "?query_string" не отбрасывается, и если это статика то nginx
пытается открыть с диска файл "/root/path/file?query_string".
Чтобы обойти эту проблему пришлось изобрести такое:
set $myurl_args "";
if ($myurl ~ \?(.*) ) {
set $myurl_args $1;
}
if ($myurl ~ ^(.*)\? ) {
set $myurl $1;
}
rewrite ^ $myurl?$myurl_args last;
Вопрос, это так и задумано или это баг ?
nginx-0.6.14, linux.
--
Andrei Nigmatulin
GPG PUB KEY 6449830D
Now I lay me down to sleep(3)
Pray the OS my core to keep
If I die before I wake
Pray the Disk my core to take
More information about the nginx-ru
mailing list