$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