Nginx-ru mailing list archive (nginx-ru@sysoev.ru)
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: $uri - url_encoded?
On Tue, Sep 14, 2010 at 09:31:05PM +0400, xinu wrote:
> 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'а ?
Запрашивать "/file%2520with%2520blank".
> если решение еще нет, опции (в конфиге в 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" файл - на мой взгляд - удобно.
>
> считаю фичу полезной.
>
> если же есть другое готовое решение - буду рад и признателен его узнать
Конечно, есть: если файл на диске называется "2%2f3", то запрашывать
нужно "2%252f3", а не "2%2f3".
--
Igor Sysoev
http://sysoev.ru/en/
_______________________________________________
nginx-ru mailing list
nginx-ru@xxxxxxxxx
http://nginx.org/mailman/listinfo/nginx-ru
|