ПРОЕКТЫ 


  АРХИВ 


Apache-Talk @lexa.ru 

Inet-Admins @info.east.ru 

Filmscanners @halftone.co.uk 

Security-alerts @yandex-team.ru 

nginx-ru @sysoev.ru 


  СТАТЬИ 


  ПЕРСОНАЛЬНОЕ 


  ПРОГРАММЫ 



ПИШИТЕ
ПИСЬМА












     АРХИВ :: nginx-ru
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


 




Copyright © Lexa Software, 1996-2009.