Подскажите пожалуйста, как можно для определенного location добавить
описание mime type?
location {
types {
x/x ext;
}
}
Такая конструкция похоже полностью заменяет типы, определенные выше. А
мне нужно добавить к ним.
Да, сейчас заменяет. А имеет ли смысл добавлять mime types на уровне
server и location ?
Выставление чарсета? Например, я хочу, чтобы .html-файлы были в
windows-1251, а .xml -- в utf-8.
types определяет только mime-type без charset и прочая. Хотя
конструкция вида
types {
'text/xml; charset=utf-8' xml;
...
}
должна работать, но не проверял. Кодировку, на мой взгляд, лучше ставить так:
location ~* \.xml$ {
charset on;
default_charset utf-8;
...
}
location ~* \.html$ {
charset on;
default_charset windows-1251;
...
}
А есть где-нибудь дока на модуль ngx_http_charset_filter.c? Он
работает как русский апач?
Нет, ngx_http_charset_filter_module перекодирует только от сервера
к клиенту. Кодировка клиента задаётся жёстко. Развитие в сторону
mod_charset не планируется (пора всем переходить на жёсткие кодировки).
Директивы:
charset on|off;
source_charset <name>; # кодировка документа
default_charset <name>; # кодировка клиента
Если указана только одна директива source_charset или default_charset,
то перекодировка не делается, а только ставится Content-Type.
charset_map <charset1> <charset2> { ... }
задаёт таблицу однобайтной перекодировки, пример в conf/win-koi.
Игорь Сысоев
http://sysoev.ru