Fwd: nginx-fastcgi-rewrite

Юрий Гончаров neo at miritec.com
Thu Nov 15 17:06:34 UTC 2012


Приветствую Вас, люди добрые!
Помогите разобраться.
Есть nginx(1.2.4) + php-fpm

Есть rewrite в секции server:

    server {
        listen       80;
        server_name  domain.com;
        rewrite ^/msg/(.*)/$ /previewmsg?varMd5=$1 last;
        .......

        location ~ ^(/[^/]+) {
                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;
        }

.......
}

В итоге всё как надо на public/accesspoint.php приходит запрос, НО, в
$_SERVER видно следующее:

Array
(
[QUERY_STRING] => varMd5=3faf4a2029fc6bf9fd8c1827e9d2aeac
[SCRIPT_FILENAME] => /www/projects/
domain.com/public_ru/public/accesspoint.php<http://domain.com/public/accesspoint.php>
[SCRIPT_NAME] => /public/accesspoint.php
[REQUEST_URI] => /msg/3faf4a2029fc6bf9fd8c1827e9d2aeac/
[DOCUMENT_URI] => /public/accesspoint.php
)

facgi_params у меня такой (дефолтный) :

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 отработал,
которая ПОСЛЕ а не ДО,
Она почему-то не приходит. Как исправить и почему не приходит?

Спасибо!

--
NEO83-RIPE
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mailman.nginx.org/pipermail/nginx-ru/attachments/20121115/b6138f48/attachment.html>


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