ПРОЕКТЫ 


  АРХИВ 


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: Помогите написать location (urlencode)



Здравствуйте, Уважаемый(-ая, -ое) valet!

v> Здравствуйте.
v> Стоит nginx + php-fpm.
v> Никак не могу сообразить как составить правильный location для отправки
v> запроса на php.

v> Например входящий запрос
v> http://site.ru/files/check.php%3Fid%3D2186%26title%3DНазвание+файла

C какого бодуна у вас вообще такие запросы появляются?...

v> надо превратить в 
http://site.ru/files/check.php?id=2186&title=Название+файла, то
v> есть дать понять nginx что вот такой вот запрос с urlencode - это запрос
v> php-файла с параметрами, чтобы nginx отправил его в нужном формате на
v> обработчик php-fpm.

На сколько я помню документацию, запрос перед обработкой раскодируется.
А при передаче дальше, по необходимости, кодируется.
Но в вашем случае я бы начал с того, что включил отладочный лог и посмотрел,
что реально приходит на сервер. Ибо бред.

v> То есть как я понимаю надо что-то типа:
v> location ~ ^/files/check.php%3Fid%3D(?<id>[^%]+)%26title%3D(?<title>.+)$ {

v>         fastcgi_param SCRIPT_NAME /check.php;
v>         fastcgi_param PATH_INFO /files/;
v>         fastcgi_param QUERY_STRING id=$id&title=$title;
v>         fastcgi_pass   127.0.0.1:9000;
v>         fastcgi_param  SCRIPT_FILENAME  /var/www/site.ru/check.php;
v>         include fastcgi_params;
v>         fastcgi_param  REQUEST_METHOD   $request_method;
v>         fastcgi_param  CONTENT_TYPE     $content_type;
v>         fastcgi_param  CONTENT_LENGTH   $content_length;
v>         fastcgi_intercept_errors        on;
v>         fastcgi_ignore_client_abort     off;
v>         fastcgi_connect_timeout 60;
v>         fastcgi_send_timeout 180;
v>         fastcgi_read_timeout 180;
v>         fastcgi_buffer_size 128k;
v>         fastcgi_buffers 4 256k;
v>         fastcgi_busy_buffers_size 256k;
v>         fastcgi_temp_file_write_size 256k;

v> }

v> Но у меня таким вариантом location не ловится. Пробовал экранировать - не
v> помогло. Может как-то можно сделать типа urldecode для url или скажем
v> написать какой-то rewrite.

v> Помогите, пожалуйста, разобраться.

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

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


-- 
С уважением

    Andrey Repin (hell-for-yahoo@xxxxxxxx) суббота, 23.02.2013, <05:09>
_______________________________________________
nginx-ru mailing list
nginx-ru@xxxxxxxxx
http://mailman.nginx.org/mailman/listinfo/nginx-ru


 




Copyright © Lexa Software, 1996-2009.