ПРОЕКТЫ 


  АРХИВ 


Apache-Talk @lexa.ru 

Inet-Admins @info.east.ru 

Filmscanners @halftone.co.uk 

Security-alerts @yandex-team.ru 

nginx-ru @sysoev.ru 


  СТАТЬИ 


  ПЕРСОНАЛЬНОЕ 


  ПРОГРАММЫ 



ПИШИТЕ
ПИСЬМА












     АРХИВ :: nginx-ru
Nginx-ru mailing list archive (nginx-ru@sysoev.ru)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: variables in charset



On Mon, 9 Oct 2006, Dmitry Morozovsky wrote:

On Mon, 9 Oct 2006, Igor Sysoev wrote:

IS> > IS> > а в charset переменные не поддерживаются?

[snip]

IS> > Потому что перекодировка меня интересует крайне слабо, главное - чарсет в
IS> > заголовке Content-type: (для хостинга, большая часть которого в
IS> > windows-1251,
IS> > но встречаются koi-8r и utf-8)
IS>
IS> Тогда, если перекодировка вообще не используется, то так:
IS>
IS> charset_map  windows-1251  _ {}
IS> charset_map  utf-8         _ {}
IS> charset_map  koi8-r        _ {}
IS>
IS> map $host   $charset {
IS>      ....
IS>      .domain.tld  windows-1251;
IS>      ....
IS> }
IS>
IS> Смысл всего действия в том, что nginx изначально внутри себя во время
IS> запроса не оперировал строковыми именами charset'ов: каждому charset'у
IS> на стадии обработки конфига присваивается численный индекс и дальше
IS> работа идёт в основном с ними. В данном случае во время запроса
IS> приходится иметь дело со строками, но для тоже ищется индексы.
IS> А для того, чтобы был индекс, нужно чтобы имя было известно на стадии
IS> конфигурации. Это достигается, например, фиктивыми charset_map'ами.

То есть главное, чтобы charset_map'ы были определены до map $host $charset{} ?

Нет, главное, чтобы они были где-нибудь определены.
Большинство директив nginx'а не зависят от порядка определения - многие
директивы, описанные в начале http раздела, могут быть раскиданы между
серверами:

    server {
    }

    директивы

    server {
    }

или вообще указаны в самом конце.


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



 




Copyright © Lexa Software, 1996-2009.