Re: Помогите написать location (urlencode)
Andrey Repin
hell-for-yahoo at umail.ru
Sat Feb 23 01:11:32 UTC 2013
Здравствуйте, Уважаемый(-ая, -ое) 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 at nginx.org
v> http://mailman.nginx.org/mailman/listinfo/nginx-ru
--
С уважением
Andrey Repin (hell-for-yahoo at umail.ru) суббота, 23.02.2013, <05:09>
Подробная информация о списке рассылки nginx-ru