и все равно не работает nginx-0.7.44 + drupal 6.10 с try_files

Andrei Nigmatulin andrei.nigmatulin at gmail.com
Tue Mar 24 19:15:17 MSK 2009


On Tuesday 24 March 2009 18:25, Maxim Dounin wrote:
> Hello!
>
> On Tue, Mar 24, 2009 at 05:37:10PM +0300, Andrei Nigmatulin wrote:
> > On Tuesday 24 March 2009 17:09, Maxim Dounin wrote:
> > > Hello!
> > >
> > > On Tue, Mar 24, 2009 at 04:34:28PM +0300, Andrei Nigmatulin wrote:
> > > > On Tuesday 24 March 2009 15:44, Igor Sysoev wrote:
> > > > > On Tue, Mar 24, 2009 at 03:31:49PM +0300, Andrei Nigmatulin wrote:
> > > > > > > > 2009/03/24 14:15:37 [debug] 7764#0: *1 http script copy:
> > > > > > > > "QUERY_STRING" 2009/03/24 14:15:37 [debug] 7764#0: *1 http
> > > > > > > > script copy: "q=" 2009/03/24 14:15:37 [debug] 7764#0: *1 http
> > > > > > > > script var:
> > > > > > > > "/admin/reports/status/run-cron?destination=admin/reports/sta
> > > > > > > >tus" 2009/03/24 14:15:37 [debug] 7764#0: *1 fastcgi param:
> > > > > > > > "QUERY_STRING:
> > > > > > > > q=/admin/reports/status/run-cron?destination=admin/reports/st
> > > > > > > >atus "
> > > > > > >
> > > > > > > Надо убрать из
> > > > > > >
> > > > > > >     include        /etc/nginx/fastcgi_params;
> > > > > > >
> > > > > > > строку про QUERY_STRING.
> > > > > >
> > > > > > А смысл, если все равно используется последняя ?
> > > > >
> > > > > Это точно известно ?
> > > >
> > > > У меня на 0.6.x работает именно так.
> > >
> > > Это не зависит от nginx'а, это зависит от fastcgi приложения.  Сам
> > > nginx просто передаст несколько name-value pairs с одинаковым
> > > именем.
> >
> > Понятно. В php это не используется. Каждое последующее значение с тем же
> > именем замещает предыдущее.
>
> Насколько я вижу - hash появился в
>
> http://cvs.php.net/viewvc.cgi/php-src/sapi/cgi/fastcgi.c?r1=1.15&r2=1.16&
>
> и с тех пор помержен в 5.2, но не в 5.1.  До соответствующего
> изменения - брался первый из параметров.  Что именно происходило в
> php4 - даже и смотреть не хочу, и так понятно что поведение
> зависит от версии php и закладываться на него нельзя.

Все правильно, бардак имеется. Но камни в огород php я бы не стал кидать: до 
5.2 использовался код стандартной libfcgi, которую кстати, насколько я 
вкурсе, писали те же ребята, что и спецификацию протокола на fatscgi.com. В 
ней тоже берется первое значение из присланных. И библиотечными методами 
нельзя получить другие значения с таким же именем.

Тем не менее, в спецификации с fastcgi.com не указано что нельзя отсылать 
дублирующиеся имена. А зря.

Потому что исправить nginx, чтобы он не отправлял дублирующиеся имена теперь 
тоже нельзя, т.к. это сломает всем приложения.


-- 
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