Модификация fastcgi_param REQUEST_URI и множественные rewrite
Bogdan
bogdar at gmail.com
Thu Mar 20 16:42:59 UTC 2014
Добрый день.
Хочу иметь возможно многократно делать rewrite и получать в конце в
параметр REQUEST_URI "последний" результат работы rewrite
Т.е. что-то такое:
URL: http://site.com/page-10
rewrite ^/page-(.*) /main/handler?page=$1;
rewrite ^/main/.* /router;
location / {
index index.php;
try_files $uri $uri/ /index.php?$args;
}
location ~ \.php$ {
fastcgi_split_path_info ^(.+\.php)(/.+)$;
# NOTE: You should have "cgi.fix_pathinfo = 0;" in php.ini
# With php5-fpm:
fastcgi_pass backend;
fastcgi_index index.php;
fastcgi_connect_timeout 1;
fastcgi_send_timeout 1;
include fastcgi_params;
}
В результате я хотел бы получить при обращении к URL http://site.com/page-10
в параметре REQUEST_URI передаваемому fastcgi-серверу значние вида:
/router?page=10
Сейчас в REQUEST_URI передаётся переменная $request_uri со значением
"/page-10", а переменная $uri содержит "/index.php"
Подскажите пожалуйста, как это можно сделать, особенно хотелось бы обойтись
без if .. set
В крайнем случае устроил бы и всего один rewrite, но нужно так или иначе
предавать в fastcgi модифицированный вариант URI.
Спасибо.
--
WBR, Bogdan B. Rudas
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mailman.nginx.org/pipermail/nginx-ru/attachments/20140320/ad6046f8/attachment-0001.html>
Подробная информация о списке рассылки nginx-ru