Всем привет.
У меня на сервере крутится nginx + php-fpm. PHP-скрипты "привыкли работать" в корне сайта, но из-за сложившихся обстоятельств их пришлось перенести глубже, чтобы не трогать скрипты я решил сделать rewrite в конфиге nginx'a, выглядит кусок конфига следующим образом:location /rest/ {
root /var/www/php;
rewrite ^/rest/(.*)$ /$1 break;
index index.html;
fastcgi_pass unix:/var/run/php5-fpm.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root/index.php;
include fastcgi_params;
}Однако, получается так, что $_SERVER['REQUEST_URI'], при обращении по адресу http://site.com/rest/process, равен '/rest/process' (т.е. почему-то rewrite не сработал), при этом $_SERVER['DOCUMENT_URI'] нормально "реврайтнулся" и, соответственно, равен '/process'.
Бьюсь с этим уже целый день, и буду рад любой помощи.
Спасибо.
> Бьюсь с этим уже целый день, и буду рад любой помощи.Будете биться до конца жизни, пока не начнете читать документацию, хотя бы когда что-то не получается:
http://nginx.org/ru/docs/http/ngx_http_core_module.html#vari...
$request_uri - первоначальный URI запроса целиком (с аргументами)
$uri ($document_uri) - текущий URI запроса в нормализованном виде
Значение $uri может изменяться в процессе обработки запроса, например, при внутренних перенаправлениях или при использовании индексных файлов.
>> Бьюсь с этим уже целый день, и буду рад любой помощи.
> Будете биться до конца жизни, пока не начнете читать документацию, хотя бы
> когда что-то не получается:
> http://nginx.org/ru/docs/http/ngx_http_core_module.html#vari...
> $request_uri - первоначальный URI запроса целиком (с аргументами)
> $uri ($document_uri) - текущий URI запроса в нормализованном виде
> Значение $uri может изменяться в процессе обработки запроса, например, при внутренних
> перенаправлениях или при использовании индексных файлов.благодарю, что ткнули носом :) Решил проблему по другому:
location /rest/ {
root /var/www/php;index index.html;
fastcgi_split_path_info ^(/rest/)(.*)$;
fastcgi_pass unix:/var/run/php5-fpm.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root/index.php;
fastcgi_param PATH_INFO $fastcgi_path_info;
include fastcgi_params;
}