Переменные окружения сервера в url-decoded формате

locojohn nginx-forum на nginx.us
Чт Июл 7 18:11:52 UTC 2011


Дорогие форумчане!

Одна из проблем, с которой я столкнулся
при переводе всех наших сайтов с Apache
под nginx - это установка правильных путей
в PATH_INFO.  Дело в том, что согласно
спецификации CGI 1.1, PATH_INFO должен
содержать url-decoded строку.   Это означает,
что при запросе:

/index.php/folder/My%20Other%20Folder

PATH_INFO должен содержать: 
"/folder/My%20Other%20Folder", а не
"/folder/My%24%2420Other%24%2420Folder", как это
происходит сейчас!   В результате, на PHP
стороне приходится делать:  
$_SERVER['PATH_INFO'] =
urldecode(urldecode(urldecode($_SERVER['PATH_INFO'])));  

Вопрос:  возможна ли установка
переменных окружения с уже
декодированными URL в самом nginx?   Иначе
скрипты, имеющие в пути пробелы, просто
не запускаются.

Буду благодарен за любую помощь!

Андрей

nginx 1.0.4 / php 5.3.6 / php-fpm

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




Подробная информация о списке рассылки nginx-ru