Lighttpd为UTF-8内容发送错误的标头


8

Ubuntu / Lighttpd无法使用正确的Content-Type标头提供我的UTF-8编码文件。它是发送Content-Type: text/html而不是Content-Type: text/html; charset=UTF-8。如何配置Lighttpd发送正确的标头?

我没有在默认设置中看到任何有用的设置,lighttpd.conf并且无法在文档中找到信息。

Answers:


8

默认lighttpd.conf文件似乎/etc/mime.types使用perl脚本加载MIME类型:

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

在我的档案中,/etc/mime.types我的html档案已设定为text/html。我注释掉了include_shellperl脚本,并将以下mimetype.assign条目添加到lighttpd.conf

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

我不确定是否有更优雅的解决方案。使用这种方法,我需要复制所有条目/etc/mime.types以保留其他MIME类型映射。


5

我遇到了同样的问题,最后在博客上找到了解决方案

基本上,它是上述perl脚本的简化版本,向所有以“ text /”开头的mime类型添加charset = utf-8声明,只需替换perl脚本并重新启动lighttpd。


此解决方案更优雅,Michael Dudley解决方案不令人满意,因为它要么静态复制所有内容,要么缺少所有非html数据的
模仿类型

0

仅添加`;并不干净。charset = utf-8 string´是否用于mimes.conf中的每个“ text /”行?我的意思是:

  ".css"          =>      "text/css; charset=utf-8",
  ".html"         =>      "text/html; charset=utf-8",
  ...
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.