Roundcube 0.5 beta 和 nginx 的 CSS mime 类型错误

Roundcube 0.5 beta 和 nginx 的 CSS mime 类型错误

我遇到了 CSS 问题。这是基于 Debian Squeeze (nginx/0.7.67、php5/cgi) 的设置,我在其上安装了最新的 Roundcube 0.5 beta。

PHP 已正确处理,登录工作正常,但 CSS 文件未加载,并且 Firefox 抛出以下错误:

错误:样式表 https://webmail.example.net:10443/roundcube/skins/default/common.css?s=1290600165

未加载,因为其 MIME 类型“text/html”不是“text/css”。源文件: https://webmail.example.net:10443/roundcube/?_task=login 行:0

错误:样式表 https://webmail.example.net:10443/roundcube/skins/default/mail.css?s=1290156319

未加载,因为其 MIME 类型“text/html”不是“text/css”。源文件: https://webmail.example.net:10443/roundcube/?_task=login 行:0

据我所知,nginx 看不到 .css 扩展名(因为 ?s= 参数),因此将 mime 类型设置为默认值,即 text/html。

我应该在 nginx 中修复这个问题吗(以及如何修复?)或者它是否与 roundcube 有关?

编辑:似乎与 nginx 有关。内容类型未设置为除 text/html 之外的任何其他类型。我不得不手动包含以下声明来强制 CSS 和 JS 内容类型。这太糟糕了,我以前从未遇到过这个问题……有什么想法吗?

location ~ \.css {
    add_header  Content-Type    text/css;
}
location ~ \.js {
    add_header  Content-Type    application/x-javascript;
}

答案1

对我来说也一样,Mime 类型是正确的,但是在我使用这个之后

location ~ \.css {
    add_header  Content-Type    text/css;
}
location ~ \.js {
    add_header  Content-Type    application/x-javascript;
}

我收到 404 未找到错误,删除该代码后,css 可以正常显示,但由于 mime 类型错误,Firefox 无法加载它

我使用的是 Nginx 0.9.3

找到问题了!看来我们正在通过 PHP 处理器运行所有内容,添加以下内容:

if ($uri ~ "\.php"){
fastcgi_pass php-fpm;
}

对我有用的部分location ~ ^\.php$ {!谢谢!

相关内容