ПРОЕКТЫ 


  АРХИВ 


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: $query string в подзапросах


  • To: nginx-ru@xxxxxxxxx
  • Subject: Re: $query string в подзапросах
  • From: Ilya Pirogov <iam.stalk@xxxxxxxxx>
  • Date: Fri, 27 Nov 2009 10:54:50 +0300
  • Cc: nginx-ru@xxxxxxxxx
  • Dkim-signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:mime-version:received:in-reply-to:references :from:date:message-id:subject:to:cc:content-type; bh=EY1JRTpaBV7XGKEI+4A28ROJ8cVOhvDNSdl7HHDvkyQ=; b=lodaot5RpWW6yV5u0QU//60XXYp08dm8RJLyppbzz5BGX1jhezIEw6Yp4SbfOBFQ1A WB+z4rZ2B/l8wHISogKYGFW8V/zcqIZCzgDuDsYtkRLIr8XvDehYgpA6JMI3HWUewai7 CUq2ucovJ9rhkg0pHEBNkrOKyD340qUqaDDsE=
  • Domainkey-signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :cc:content-type; b=qY4rnNyrSuvP91qwZp+4PaVLzFtJX8nb6VTVfoNc2pl7ddMJVx/6omM3f8452mZXcK jItdU0/RXg+dMuopXLSHXPfKAJQr8PVcizpKzTKugnjtBucCDZUN4OFiq4VjP4eIDOdG 3MytXT+gfgFD8YtOncESiIhOuGmdXBp7jhNKE=
  • In-reply-to: <c58ea659543086f81d13bedf73fd5619.NginxMailingListRussian@xxxxxxxxxxxxxxx>
  • References: <c58ea659543086f81d13bedf73fd5619.NginxMailingListRussian@xxxxxxxxxxxxxxx>

Не знаю как на счет rewrite'а, но проблему с очисткой $query_string после 404'ой ошибки мы в свое время решали примерно сл. образом:

location / {
   set $_query_string $query_string;
}

# ...

location = /index {
   internal;
   fastcgi_param QUERY_STRING $_query_string;
   # ...
}

# ...

error_page 404 =200 /index;

26 ноября 2009 г. 18:47 пользователь mivlad <nginx-forum@xxxxxxxx> написал:
Приветствую.

Обнаружилась довольно странная проблема в 0.7.62. На странице есть несколько ssi-блоков, обрабатываемых одним location через fastcgi. В этом location я пытался выполнять директивами mod_rewrite некоторые действия над $query_string -- разобрать её if'ом и присвоить некоторые другие переменные в зависимости от результатов. Оказалось, что при первом подзапросе в $query_string пусто, несмотря на то, что параметры блоку передаются. В последующих же подзапросах переменная наблюдалась с правильным содержимым. При этом в fastcgi_param правильный $query_string попадал уже в первом позапрос!
 е, а вот если сделать из этого location'а return 404, то переменной не оказывается и в последующем подзапросе. То есть создаётся впечатление, что переменная "материализуется" лишь на какой-то из поздних стадий обработки подзапроса, после чего работает нормально.

Кстати, разбором query_string я занялся из-за того, что $arg_... в этих условиях тоже не работали правильно.

И ещё один момент -- когда основной запрос идёт к статичному файлу, всё вроде работает верно, проблема видимо наблюдается только когда страницу получаем через fastcgi.

--
С уважением,
Михаил

Posted at Nginx Forum: http://forum.nginx.org/read.php?21,25818,25818#msg-25818


_______________________________________________
nginx-ru mailing list
nginx-ru@xxxxxxxxx
http://nginx.org/mailman/listinfo/nginx-ru

_______________________________________________
nginx-ru mailing list
nginx-ru@xxxxxxxxx
http://nginx.org/mailman/listinfo/nginx-ru


 




Copyright © Lexa Software, 1996-2009.