Re: Странное поведение map
Валентин Бартенев
vbart at nginx.com
Sun Aug 17 11:50:10 UTC 2014
On Friday 15 August 2014 19:21:34 mEajof wrote:
> Столкнулся сегодня с тем, что не могу вывести содержание переменной,
> полученной из регекспа.
> Пример конфига:
>
> map $uri $header_two {
> default "";
> ~/selfy/(?<fname>.*.+\.(mp4|m4v|avi|mp3|3gp|flv|mpeg|ogg|wmv))
> 'attachment; filename="$fname"';
> }
$uri в map - верный признак того, что делаете что-то неправильно.
Для разделения конфигурации по $uri специально существует директива
location - ей и нужно пользоваться.
>
> add_header Content-Disposition $header_two;
>
> Пытался так же с
> "attachment; filename=\"$fname\"";
>
> и даже просто "'' $fname"; - в хэдер сразу вываливается название переменной,
> вместо имени.
>
[..]
Из документации по map:
"В качестве результирующего значения можно указать строку
или другую переменную (0.9.0)."
Возможности использовать строку с переменными директива не
предоставляет, соответственно ваша строка интерпретируется
как строка.
--
Валентин Бартенев
Подробная информация о списке рассылки nginx-ru