$uri - url_encoded?

xinu xinu на list.ru
Вт Сен 14 21:31:05 MSD 2010


sorry, поспешил с enter.

вопрос, который собственно и хотел написать:

как убедить nginx не переводить запрошенный URL в urldecoded?

моя проблема в пробелах, которые я кодирую в cms "%20", все файлы также (т.е. с "%20" лежат на диске - т.е. без пробелов (!!!).
однако запрос

GET /file%20with%20blank HTTP/1.1

будет по try_files искать "/file with blank" - файл, который я генерирую как "/file%20with%20blank"

$request_uri - выглядет так как мне надо и работал бы, но - не помогает, т.к. есть еще реврайты и try_files мне нужен по измененному УРЛу.
реврайты же только ухудшают УРЛ - переписывая его с "%20" на "%2520" -- т.е переписываю "%" в его url_ecoded форму: "%25".

как однозначно определить поведение / реакцию nginx'а ?

если решение еще нет, опции (в конфиге в server, location и в if) :

     url_dencoding on / of;

помогли бы.

большое спасибо.

Сергей.

ps: sbin/nginx -v
nginx version: nginx/0.8.34


ps2: подобная проблема распространяется и на многие другие "символы" например "/" -> "%2f"
т.е. если мне нужен файл с именем "2/3" - не файл 3 в каталоге 2 , а именно "2/3" -- я делаю просто "2%2f3" файл - на мой взгляд - удобно.

считаю фичу полезной.

если же есть другое готовое решение - буду рад и признателен его узнать

еще раз спасибо



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