UTF-8 컨텐츠에 대해 잘못된 헤더를 전송하는 Lighttpd


8

Ubuntu / Lighttpd가 올바른 Content-Type헤더로 UTF-8 인코딩 파일을 제공하지 않습니다 . Content-Type: text/html대신 보내는 중 Content-Type: text/html; charset=UTF-8입니다. 올바른 헤더를 보내도록 Lighttpd를 어떻게 구성합니까?

기본 설정에 유용한 설정이없고 설명서lighttpd.conf 에서 정보를 찾는 데 문제가 있습니다 .

답변:


8

기본 lighttpd.conf파일은 /etc/mime.typesperl 스크립트 를 사용하여 MIME 유형을로드하는 것 같습니다 .

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

내에서 /etc/mime.typeshtml파일로 제공되도록 설정했다 text/html. include_shellperl 스크립트를 주석 처리 하고 다음 mimetype.assign 항목을 다음에 추가 했습니다 lighttpd.conf.

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

더 우아한 솔루션이 있는지 확실하지 않습니다. 이 방법을 사용 /etc/mime.types하면 다른 MIME 형식 매핑을 유지하기 위해 모든 항목을 복사해야 합니다.


5

나는 똑같은 문제를 겪고 마침내 블로그에서 해결책을 찾았다.

기본적으로 "text /"로 시작하는 모든 MIME 유형에 charset = utf-8 선언을 추가하는 위에서 언급 한 perl 스크립트의 간단한 버전입니다. Perl 스크립트를 바꾸고 lighttpd를 다시 시작하십시오.


이 솔루션은 더 우아합니다. Michael Dudley 솔루션은 정적으로 모든 콘텐츠를 복사하거나 HTML이 아닌 모든 데이터에 대한 mimetype이 부족하여 만족스럽지 않습니다…
Jocelyn delalande

0

`; 만 추가하는 것이 더 깨끗하지 않습니다. mimes.conf의 각 "text /"줄에 대해 charset = utf-8 string? 나는 다음과 같이 의미한다.

  ".css"          =>      "text/css; charset=utf-8",
  ".html"         =>      "text/html; charset=utf-8",
  ...
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.