Fwd: nginx-fastcgi-rewrite

Юрий Гончаров neo at miritec.com
Thu Nov 15 19:14:59 UTC 2012


Если вы об $uri то где бы я его не выводил оно также имеет значение
/public/accesspoint.php

Изучив debuglog понимаем следующее:

1. Получается заходим на URL http://domain.com/msg/xxxxxxxxxxxxxx
2. Согласно rewrite происходит преобразование на
http://domain.com/previewmsg?varMd5=xxxxxxxxxxxx (что мы и хотим передать в
скрипт accesspoint.php)
3. Конечное значение $uri получается public/accesspoint.php что мы и видим
в скрипте, а вот $query_string у нас правильный - varMd5=xxxxxxxx

Не понимаю где и на каком этапе мне
перехватить previewmsg?varMd5=xxxxxxxxxxxx


15 ноября 2012 г., 20:07 пользователь Валентин Бартенев
<vbart at nginx.com>написал:

> On Thursday 15 November 2012 21:06:34 Юрий Гончаров wrote:
> [...]
> >                 try_files $uri $1/accesspoint.php /public/accesspoint.php
> > =405;
> >                 fastcgi_pass unix:/tmp/php.socket;
> >                 include fastcgi_params_ru;
> >                 fastcgi_connect_timeout 3600;
> >                 fastcgi_send_timeout 3600;
> >                 fastcgi_read_timeout 3600;
> >                 client_max_body_size 100m;
> >                 root /www/projects/domain.com/public_ru;
> [...]
> > fastcgi_param   QUERY_STRING            $query_string;
> > fastcgi_param   REQUEST_METHOD          $request_method;
> > fastcgi_param   CONTENT_TYPE            $content_type;
> > fastcgi_param   CONTENT_LENGTH          $content_length;
> >
> > fastcgi_param   SCRIPT_FILENAME         $request_filename;
> > fastcgi_param   SCRIPT_NAME             $fastcgi_script_name;
> > fastcgi_param   REQUEST_URI             $request_uri;
> > fastcgi_param   DOCUMENT_URI            $document_uri;
> > fastcgi_param   DOCUMENT_ROOT           $document_root;
> > fastcgi_param   SERVER_PROTOCOL         $server_protocol;
> >
> > fastcgi_param   GATEWAY_INTERFACE       CGI/1.1;
> > fastcgi_param   SERVER_SOFTWARE         nginx/$nginx_version;
> >
> > fastcgi_param   REMOTE_ADDR             $remote_addr;
> > fastcgi_param   REMOTE_PORT             $remote_port;
> > fastcgi_param   SERVER_ADDR             $server_addr;
> > fastcgi_param   SERVER_PORT             $server_port;
> > fastcgi_param   SERVER_NAME             $server_name;
> >
> > Подскажите, как мне увидеть в $_SERVER ссылку не
> domain.com/msg/xxxxxxxxx а
> > уже /previewmsg,varMd5=, то есть ту на которую уже rewrite отработал,
> > которая ПОСЛЕ а не ДО,
> > Она почему-то не приходит. Как исправить и почему не приходит?
>
> У вас в конфигурации выше нигде не задано, чтобы она приходила.
>
> Стоит прочитать про назначение переменных, и использовать те, что вам
> нужны для
> тех переменных окружения, которые вы хотите:
>
> http://nginx.org/ru/docs/http/ngx_http_core_module.html#variables
>
> Никакой магии.
>
> http://nginx.org/r/fastcgi_param/ru
>
> --
> Валентин Бартенев
> http://nginx.com/support.html
> http://nginx.org/en/donation.html
> _______________________________________________
> nginx-ru mailing list
> nginx-ru at nginx.org
> http://mailman.nginx.org/mailman/listinfo/nginx-ru
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mailman.nginx.org/pipermail/nginx-ru/attachments/20121115/11130e78/attachment.html>


Подробная информация о списке рассылки nginx-ru