LighttpdがUTF-8コンテンツの誤ったヘッダーを送信する


8

Ubuntu / Lighttpdは、UTF-8でエンコードされたファイルを正しいContent-Typeヘッダーで提供していません。Content-Type: text/htmlではなく送信していContent-Type: text/html; charset=UTF-8ます。正しいヘッダーを送信するようにLighttpdを構成するにはどうすればよいですか?

デフォルトで有用な設定がlighttpd.conf表示されず、ドキュメントで情報を見つけることができません。

回答:


8

デフォルトのlighttpd.confファイルは/etc/mime.types、Perlスクリプトを使用してMIMEタイプをロードしているようです。

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

私には/etc/mime.types私のhtmlファイルが務めていましたされるように設定されていましたtext/htmlinclude_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を再起動するだけです。


このソリューションはよりエレガントです。MichaelDudleyソリューションは、すべてのコンテンツを静的にコピーするか、すべての非HTMLデータのMIMEタイプがないため、満足できません…
Jocelyn delalande

0

`;を追加するだけではクリーンではありません。charset = utf-8 string´ mimes.confの各 "text /"行に?私は次のような意味です:

  ".css"          =>      "text/css; charset=utf-8",
  ".html"         =>      "text/html; charset=utf-8",
  ...
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.