Помогите написать location (urlencode)
valet
nginx-forum at nginx.us
Sat Feb 23 00:54:34 UTC 2013
Здравствуйте.
Стоит nginx + php-fpm.
Никак не могу сообразить как составить правильный location для отправки
запроса на php.
Например входящий запрос
http://site.ru/files/check.php%3Fid%3D2186%26title%3DНазвание+файла надо
превратить в http://site.ru/files/check.php?id=2186&title=Название+файла, то
есть дать понять nginx что вот такой вот запрос с urlencode - это запрос
php-файла с параметрами, чтобы nginx отправил его в нужном формате на
обработчик php-fpm.
То есть как я понимаю надо что-то типа:
location ~ ^/files/check.php%3Fid%3D(?<id>[^%]+)%26title%3D(?<title>.+)$ {
fastcgi_param SCRIPT_NAME /check.php;
fastcgi_param PATH_INFO /files/;
fastcgi_param QUERY_STRING id=$id&title=$title;
fastcgi_pass 127.0.0.1:9000;
fastcgi_param SCRIPT_FILENAME /var/www/site.ru/check.php;
include fastcgi_params;
fastcgi_param REQUEST_METHOD $request_method;
fastcgi_param CONTENT_TYPE $content_type;
fastcgi_param CONTENT_LENGTH $content_length;
fastcgi_intercept_errors on;
fastcgi_ignore_client_abort off;
fastcgi_connect_timeout 60;
fastcgi_send_timeout 180;
fastcgi_read_timeout 180;
fastcgi_buffer_size 128k;
fastcgi_buffers 4 256k;
fastcgi_busy_buffers_size 256k;
fastcgi_temp_file_write_size 256k;
}
Но у меня таким вариантом location не ловится. Пробовал экранировать - не
помогло. Может как-то можно сделать типа urldecode для url или скажем
написать какой-то rewrite.
Помогите, пожалуйста, разобраться.
Posted at Nginx Forum: http://forum.nginx.org/read.php?21,236494,236494#msg-236494
Подробная информация о списке рассылки nginx-ru