rewrite аргументов
Andrew Kopeyko
kaa at zvuki.ru
Tue Nov 17 16:47:12 MSK 2009
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 at zvuki.ru>
http://www.zvuki.ru/
More information about the nginx-ru
mailing list