Lighttpd envia cabeçalhos errados para o conteúdo UTF-8

8

O Ubuntu / Lighttpd não está servindo meus arquivos codificados em UTF-8 com o cabeçalho Content-Type correto. Está enviando Content-Type: text/html em vez de Content-Type: text/html; charset=UTF-8 . Como faço para configurar o Lighttpd para enviar os cabeçalhos corretos?

Eu não vi nenhuma configuração útil no padrão lighttpd.conf e estou tendo problemas para encontrar informações na documentação .

    
por M. Dudley 22.08.2011 / 03:05

3 respostas

8

O arquivo lighttpd.conf padrão parece carregar os tipos MIME de /etc/mime.types usando um script perl:

include_shell "/usr/share/lighttpd/create-mime.assign.pl"

Em meus arquivos /etc/mime.types my html foram definidos para serem exibidos como text/html . Eu comentei o script include_shell perl e adicionei a seguinte entrada mimetype.assign a lighttpd.conf :

mimetype.assign = ( ".html" => "text/html; charset=utf-8" )

Não tenho certeza se existe uma solução mais elegante. Usando esse método, eu precisaria copiar todas as entradas em /etc/mime.types para manter os outros mapeamentos de tipo MIME.

    
por 22.08.2011 / 03:47
5

Eu estava tendo o mesmo problema e finalmente encontrei uma solução em um blog

Basicamente é uma versão do script perl acima mencionado que adiciona a declaração charset = utf-8 a todos os tipos MIME que começam com "text /" Apenas substitua o script perl e reinicie o lighttpd.

    
por 08.01.2012 / 22:51
0

Não é mais limpo adicionar apenas o '; charset = utf-8 string´ para cada linha "text /" no mimes.conf? Quero dizer como:

  ".css"          =>      "text/css; charset=utf-8",
  ".html"         =>      "text/html; charset=utf-8",
  ...
    
por 12.01.2015 / 18:55