Ubuntu / Lighttpd не обслуживает мои файлы в кодировке UTF-8 с правильным Content-Type
заголовок. Это отправка Content-Type: text/html
скорее, чем Content-Type: text/html; charset=UTF-8
. Как настроить Lighttpd для отправки правильных заголовков?
В дефолтных настройках не увидел lighttpd.conf
и у меня проблемы с поиском информации в документация.
По умолчанию lighttpd.conf
файл, похоже, загружает типы MIME из /etc/mime.types
используя сценарий perl:
include_shell "/usr/share/lighttpd/create-mime.assign.pl"
В моем /etc/mime.types
мой html
файлы были настроены для обслуживания как text/html
. Я прокомментировал include_shell
perl скрипт и добавил следующие mimetype.assign вход в lighttpd.conf
:
mimetype.assign = ( ".html" => "text/html; charset=utf-8" )
Не уверен, что есть более элегантное решение. Используя этот метод, мне нужно будет скопировать все записи в /etc/mime.types
чтобы сохранить другие сопоставления типов MIME.
У меня была такая же проблема и наконец нашел решение в блоге
По сути, это усовершенствованная версия вышеупомянутого сценария perl, который добавляет объявление charset = utf-8 ко всем типам mime, начинающимся с "text /". Просто замените сценарий perl и перезапустите lighttpd.
Нечестно просто добавить `; charset = utf-8 string´ для каждой строки «text /» в mimes.conf? Я имею в виду:
".css" => "text/css; charset=utf-8",
".html" => "text/html; charset=utf-8",
...