Add header и объединение строк

Igor Sysoev is at rambler-co.ru
Mon Dec 19 12:59:48 MSK 2005


On Mon, 19 Dec 2005, ForJest wrote:

> Я пытался сделать с помощью add_header выдачу заголовка
> Content-Disposition: attachment; filename="<имя файла>"
> и обнаружил несколько интересных эффектов
> - add_header не работает в if

Работает, но только в if внутри location, а не внутри сервера:

     location / {
         if (...) {
             add_header ...
         }
     }

> - add_header вообще не хавает переменные.
> Узнав что он не работает в if я решил сделать через rewrite. Но тут
> выяснилось что
> add_header SOME $1
> выдаёт SOME $1 в ответе.
> add_header SOME $remote_addr
> тоже выдает SOME $remote_addr, вместо ожидаемого SOME xx.xx.xx.xx
> ------------------
> В связи с этим вопросы
> - сложно ли сделать так чтобы add_header использовал хотя бы переменные?

Нет, не сложно.

> - можно ли его сделать, чтобы работал в if?
> Кстати с if ещё интересная фишка - не работает limit_rate в нём, а в
> примере к rewrite
>
> Пример использования:
>
>    if ($slow) {
>        limit_rate  10k;
>        break;
>    }
>
> Что несколько меня смутило :-).

if внутри location.

> -----------------
> Ещё один вопрос - как конкатенировать строки? Есть ли такая
> возможность вообще? Потому что допустим
> строку attachment; filename="<имя файла>" нужно склеивать из литералов
> и текущей строки... Хотя, возможно, и не стоит превращать конфигурацию
> в PHP или PERL, но мне интересно - есть ли вообще такая возможность.
> -----------------

${var1}text1${var2}text2


Игорь Сысоев
http://sysoev.ru





More information about the nginx-ru mailing list