Как правильно включить заголовки кодировок в NGINX?
Я анализирую свой сайт с помощью Google Page Speed. Это говорит о том, что я должен указать кодировку HTML-файлов в HTTP-заголовках. Как правильно это сделать?
Я уже пытался указать charset utf-8;
в server {}
объявлении мой файл конфигурации NGINX, но это не дало никакого эффекта.
Мой сервер отвечает следующим заголовком:
Connection: keep-alive
Date: Fri, 16 Sep 2011 12:43:24 GMT
Last-Modified: Fri, 02 Sep 2011 15:13:17 GMT
Server: nginx/0.7.67
Спасибо.
Ответы:
Добавление
charset utf-8;
- это почти все, что вам нужно сделать. Вы уверены, что не забыли перезагрузить nginx после изменения файла конфигурации?Кроме того, на момент написания curl -I http://vorb.de/ возвращает следующий результат:
Так что теперь все выглядит хорошо.
источник
Установка charset может не сработать, если вы не установите директиву charset_types, для которой вы хотите использовать UTF-8.
Например: когда вы устанавливаете «charset utf-8;», весь HTML будет отражать, но не файлы JSON, потому что они не установлены по умолчанию в «charset_types».
http://nginx.org/en/docs/http/ngx_http_charset_module.html#charset_types
источник
Возможно, вам также придется изменить
charset_types
настройку, чтобы включить тип MIME, для которого вы хотите установить настройку кодировки (например, текст / календарь там не включены по умолчанию).Я думаю, что это
text/*
стоит сделать по умолчанию, но вы не можете использовать его здесь (как в Apache IIRC).См. Http://nginx.org/en/docs/http/ngx_http_charset_module.html#charset_types
источник
Это то, что вам нужно. Это не будет работать для меня, если у меня нет обоих.
источник