ПРОЕКТЫ 


  АРХИВ 


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: rewrite аргументов



Vladimir Rusinov wrote:
Приветвую!

Есть задача: переписывать uri вида /image?blogId=55640&fileName=language_settings_1.jpg в /blog_images/55640/language_settings_1.jpg

Сделал так:

if ($request_uri ~* "^/image\?blogId=(.+)\&fileName=(.+)$") {
        rewrite ^.*$ /blog_images/$arg_blogId/$arg_fileName break;
}
<...>
location /blog_images/ { root /blogimagesroot/; }

Однако есть fileName имеет вид some %20file.jpg, nginx не превращает его в пробел и соответвенно не находит файл.

А вообще очень хотелось бы иметь возможность делать рерайты и аргументам запроса не прибегая к if.

Думаю, вам стоит воспользоваться перловым обработчиком. Распарсить аргументы и сформировать хитрый внутренний редирект - эта работа как раз для него.

Может стоит завести опцию к rewrite или отдельную директиву для этого (типа rewrite_uri)?

Нет, пожалуй не стоит.


--
Best regards,
Andrew A. Kopeyko <kaa@xxxxxxxx>
http://www.zvuki.ru/



 




Copyright © Lexa Software, 1996-2009.