Re: rewrite не корректно отрабатывает

Alex ss.smok на gmail.com
Пт Сен 23 15:52:08 UTC 2011


Да, верно, прошу прощения. Про точку в документации
http://sysoev.ru/nginx/docs/http/ngx_http_rewrite_module.html ничего не
говорилось, отсюда ошибся.

С точкой перенаправление работает, но по прежнему в конце не добавляется f:i
.
Возможно, у nginx есть какие либо исключения, связанные с двоеточием? То
есть при запросе УРЛ
/cache/3156fbafded50dfde766222b602e2773850a04<http://localhost/cache/3156fbafded50dfde766222b602e2773850a04>
на
бекенд правильно проходит начало запроса
/all_photos/3156fbafded50dfde766222b602e2773850a04 , но для бэкенда
требуется в конце еще добавление /f:i  , чего мне никак не достигнуть
средствами rewrite.

Дайте пожалуйста направление куда копать, или укажите на мою ошибку:
 location /cache {
            rewrite ^\/cache\/(.*)$/ \/all_photos\/$1\/f:i;
            proxy_pass        http://192.168.0.3:8080;



22 сентября 2011 г. 11:26 пользователь Alex Vorona <voron на amhost.net>написал:

> 22.09.2011 09:46, Alex wrote:
> > Точка приводит к тому, что она не проходит по правилу, поскольку в URL не
> > содержится точки - у файла нет расширения:
> > http://localhost/cache/3156fbafded50dfde766222b602e2773850a04
>
>  pcretest
> PCRE version 8.12 2011-01-15
>
>  re> /^\/cache(\/*)$/
> data> /cache/3156fbafded50dfde766222b602e2773850a04
> No match
> data>
>  re> /^\/cache(\/.*)$/
> data> /cache/3156fbafded50dfde766222b602e2773850a04
>  0: /cache/3156fbafded50dfde766222b602e2773850a04
>  1: /3156fbafded50dfde766222b602e2773850a04
> data>
>
> Что-то у вас с пониманием regexp не то. В nginx это pcre.
>
> _______________________________________________
> nginx-ru mailing list
> nginx-ru на nginx.org
> http://mailman.nginx.org/mailman/listinfo/nginx-ru
>
----------- следущая часть -----------
Вложение в формате HTML было извлечено…
URL: <http://mailman.nginx.org/pipermail/nginx-ru/attachments/20110923/378abf5f/attachment.html>


Подробная информация о списке рассылки nginx-ru