Re: Не работает merge_slashes off при редиректах

Maxim Dounin mdounin на mdounin.ru
Ср Янв 25 13:30:31 UTC 2012


Hello!

On Wed, Jan 25, 2012 at 03:06:18AM +0800, SaveFrom.net wrote:

> Добрый вечер,
> 
> Письмо не заметили или это не бага?
> 
> 15 января 2012 г. 19:35 пользователь SaveFrom.net <savefrom at gmail.com>написал:
> 
> > Здравствуйте,
> >
> > Запрос    http://sfrom.net/http://bar
> >
> > Ответ      http://savefrom.net/http:/bar
> >
> > Ожидали http://savefrom.net/http://bar
> > (пропал слеш в uri)
> >
> > Конфиг
> > server {
> >  listen xxx;
> > server_name sfrom.net www.sfrom.net;
> > merge_slashes off;
> > rewrite '^\/https?:' 'http://savefrom.net$uri?foo' permanent;
> > rewrite ^ 'http://savefrom.net/http:/$uri?foo' permanent;
> > }

merge_slashes имеет смысл указывать только в сервере по умолчанию, 
т.к. он работает на этапе парсинга заголовков запроса, до того как 
name-based виртуальный сервер определён.

Если приведённый блок server{} не является сервером по умолчанию - 
поведение ожидаемо.

Maxim Dounin



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