проблема с rewrite и query_string

Andrei Nigmatulin andrei.nigmatulin at gmail.com
Thu Nov 15 09:43:29 MSK 2007


Игорь, есть ли у Вас какие нибудь комментарии по поводу этого вопроса ?

On Friday 02 November 2007 01:57, Andrei Nigmatulin wrote:
> Привет !
>
> Столкнулся с такой проблемой:
>
> Если делать
>
> 	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