我正在尝试使用Erlang Cowboy提供动态生成的html页面,但它在Firefox 14.0.1中显示为文本。
以下是从浏览器页面源复制的doctype和初始标头标记:
<DOCTYPE html>
<html lang="en">
<head>
<meta http-equiv="Content-type" content="text/html;charset="UTF-8"><title>Welcome!</title>
<link href="css/bootstrap.css" rel="stylesheet">
yada yada
如果我取消了doctype,它会按预期显示。
Bootstrap Scaffolding(http://twitter.github.com/bootstrap/scaffolding.html)调用html doctype。
我不确定这是我的html或我的Cowboy配置的问题。
以下是_app.erl中Dispatch的相关部分:
{['...'], cowboy_http_static,
[ {directory, {priv_dir, cw, []}},
{mimetypes, [ {<<".css">>, [<<"text/css">>]} ]}
有人可以向我展示我的方式错误吗?
非常感谢,
LRP
答案 0 :(得分:2)
试试这个
{['...'], cowboy_http_static,
[ {directory, {priv_dir, cw, []}},
{mimetypes, [{<<".css">>, [<<"text/css">>]},
{<<".html">>, [<<"text/html">>]}]}
答案 1 :(得分:1)
我使用cowboy_static来提供DOCTYPE html,它使用正确的mimetype服务很好。 缺少感叹号:“!DOCTYPE”而不是“DOCTYPE”
<!DOCTYPE html>
请参阅http://www.w3schools.com/tags/tag_doctype.asp
修改:Firefox和Chrome也接受<DOCTYPE html>
。所以问题很可能是Mimetype。