Re[2]: if нужен.

Михаил Монашёв postmaster at softsearch.ru
Wed Aug 15 11:19:19 UTC 2012


Здравствуйте, Maxim.

>> В конфиге есть строчка.
>> add_header Content-Disposition 'attachment; filename="bla-bla-bla"';
>> 
>> Для  одних  хостов  её  надо  выдавать,  а  для других не нужно. Хосты
>> отличаются только этой строчкой в конфиге. Дабы не разводить копипасту
>> попробовал  написать add_header внутри if(). Оказалось, что add_header
>> в  if-е  не  поддерживается. :-( Других способов, кроме if-а я не смог
>> придумать.

> Поддерживается.  Другой вопрос, что результат может быть не совсем 
> такой, как хотелось бы, см. http://wiki.nginx.org/IfIsEvil.

> Но правильно, IMHO, как-то так:

> map $host $disposition {
>     default      "";
>     example.org  'attachment; filename="bla-bla-bla"';
> }

А как сюда ---------^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
подставить переменную?

Написал вот так:

        map $http_host $disposition {
                hostnames;
                default "";

                d.*     'attachment; filename="$sitename$filename"';
        }

В результате в заголовке выдалась строка
Content-Disposition: attachment; filename="$sitename$filename"

а значения переменных не подставились. Через set надо это делать?

        
> add_header Content-Disposition $disposition;


-- 
С уважением,
 Михаил                          mailto:postmaster at softsearch.ru



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