ПРОЕКТЫ 


  АРХИВ 


Apache-Talk @lexa.ru 

Inet-Admins @info.east.ru 

Filmscanners @halftone.co.uk 

Security-alerts @yandex-team.ru 

nginx-ru @sysoev.ru 


  СТАТЬИ 


  ПЕРСОНАЛЬНОЕ 


  ПРОГРАММЫ 



ПИШИТЕ
ПИСЬМА












     АРХИВ :: nginx-ru
Nginx-ru mailing list archive (nginx-ru@sysoev.ru)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Странност ь proxy, rewrite, $request_uri



On Sun, Jul 29, 2007 at 03:48:48PM +0400, Alexey Rymonin wrote:

> На данный момент решил проблему
>          ........
>          set  $req_uri  $uri;
>          location /servlets/ {
>              rewrite  ^(.*)$  $1?tom_req_uri=$req_uri  break;
>              ........
>          }
>          ........
> 
>          в документации написанно что
>          $request_uri, эта переменная равна полному первоначальному URI 
> вместе с аргументами;
>          но тогда куда &query=%F2%E5%F1%F2%EE%E2%EE%E5 делось...
>          его отрезали уже чуть дальше... в переменной он есть... :-)

Он там есть. Только не в tom_req_uri, а в query, потому что:

/servlets/Search?tom_req_uri=/search/candidate?seach=true&query=%F2 
 %E5%F1%F2%EE%E2%EE%E5&file=/search/candidate.htt&action=2&main=100&base=102&hrefname=resume&searchcandidate=true&seach=true&query=
 %F2%E5%F1%F2%EE%E2%EE%E5

tom_req_uri=/search/candidate?seach=true

&

query=%F2%E5%F1%F2%EE%E2%EE%E5

&

file=/search/candidate.htt

&

...

>          вопрос снят...
> 
> AR> Имею следующее
> AR>         ........
> AR>         location /servlets/ {
> AR>             rewrite  ^(.*)$                  
> AR> $1?tom_req_uri=$request_uri  break;
> 
> AR>             proxy_pass         http://127.0.0.1:8080;
> AR>             proxy_redirect     off;
> 
> AR>             proxy_set_header   Host             $host;
> AR>             proxy_set_header   X-Real-IP        $remote_addr;
> AR>         }
> AR>         ........
> AR>         rewrite  ^/search/candidate?$ 
> AR> 
> /servlets/Search?file=/search/candidate.htt&action=2&main=100&base=102&hrefname=resume&searchcandidate=true
>  last;
> AR>         ........
> 
> AR>         следующий запрос
> AR>        
> AR> 
> http://www.e-prof.ru/search/candidate?seach=true&query=%F2%E5%F1%F2%EE%E2%EE%E5
> 
> AR>         в результате получаю что tom_req_uri = 
> /search/candidate?seach=true
> AR>         именно этому же равняется $request_uri (раз такой результат то
> AR>         это в общем логично)... при этом он подставляет всегда первый
> AR>         параметр из запрос... в примере это был seach=true
> 
> AR>         почему такое происходит и как этого можно избежать?
> AR>         
> 
> 
> 
> -- 
> Best regards,
>  Alexey                            mailto:x-phoenix@xxxxxxx
> 
> 

-- 
Игорь Сысоев
http://sysoev.ru



 




Copyright © Lexa Software, 1996-2009.