当path包含破折号时,Nginx会给出不正确的CSS MIMEtypes

我们将networking服务器迁移到Nginx主要是为了性能原因,灵活性和易于configuration(在这方面,满意度很高)​​。

但是,只有一个站点显示了一个奇怪的行为:它加载在它的<head>一个CSS

 <link type="text/css" rel="stylesheet" href="/css/appli-test-local/appli.css"> 

Firefox拒绝加载CSS文件,抱怨说mimetypes不是css

 The stylesheet http://client...com/css/appli-test-local/appli.css was not loaded because its MIME type, "text/html", is not "text/css". 

同时删除破折号-作品

 <link type="text/css" rel="stylesheet" href="/css/applitestlocal/appli.css"> 

Nginxconfiguration

关于Nginx的configuration,已经多次检查过,针对网上的众多例子, mime.types文件包含

 text/html html htm shtml; text/css css; 

和主要部分的nginx.conf

 http { include /etc/nginx/mime.types; include /etc/nginx/fastcgi.conf; default_type application/octet-stream; 

是否可能是一个Nginx的破折号困难的时间? Nginx是一个写得很好的软件,我会感到惊讶,但它可能是。 我想念一些明显的东西吗?

问题只发生在Firefox,因为FF确实关心MIMEtypes(这是一件好事!)。

如果你通过默认的distro repo安装了Nginx,那么你很可能使用了一个非常过时的Nginx版本,它可能包含了这样一个bug。

对于testing,您应该尝试find更新的回购或从源代码编译最新版本。 如果这没有帮助,然后粘贴服务器操作系统和整个configuration文件。

我当时编译了最新的nginx,问题依然存在。 它似乎是path/正则expression式分析中的nginx错误,不能处理好破折号。

没有相关的答案,所以我会接受这个。