Re: Модификация URL в nginx

Валентин Бартенев ne на vbart.ru
Вт Янв 24 15:01:49 UTC 2012


On Tuesday 24 January 2012 18:26:07 Alexander F. wrote:
> Приветствую.
> Есть веб-сервер с nginx, отдающий картинки с бэкенда, URL картинок выглядит
> как:
> http://www.server.ru/cache/a1234/100483674_1337085766.jpg
> 
> Некоторые нехорошие почтовые сервисы при получении письма с такой ссылкой
> (в контексте html письма) ее модифицируют: ставят либо восклицательный
> знак, либо знак пробела "%20"; к примеру почтовый сервер libero.it приводят
> вышеуказанный URL к виду:
> http://www.server.ru/cache/a1234/100483!674_1337085766.jpg
> Соответственно, клиенты получают 404, что неприятно.
> 
> Вопрос: возможно ли средствами nginx вырезать такие символы или их
> игнорировать, что бы клиенты не получали 404 ошибку.
> Если возможно реализовать сторонними модулями, буду рад любым наводкам.

Можно попробовать обойтись регулярным выражением.

 location /cache/ {
     rewrite ^/cache/([^\s!]*)[\s!]([^\s!]*)$ /cache/$1$2 last;
 }

--
Валентин Бартенев


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