Wrong CSS mime type with Roundcube 0.5 beta and nginx
- by Julien Vehent
I'm running into a CSS problem. This is a setup based on Debian Squeeze (nginx/0.7.67, php5/cgi) on which I installed the latest Roundcube 0.5 beta.
PHP is properly processed, login works fine but the CSS files are not loaded and Firefox is throwing the following errors:
  Error: The stylesheet 
  https://webmail.example.net:10443/roundcube/skins/default/common.css?s=1290600165
  
  was not loaded because its MIME type,
  "text/html", is not "text/css". Source
  File:
  https://webmail.example.net:10443/roundcube/?_task=login
  Line: 0
  
  Error: The stylesheet 
  https://webmail.example.net:10443/roundcube/skins/default/mail.css?s=1290156319
  
  was not loaded because its MIME type,
  "text/html", is not "text/css". Source
  File:
  https://webmail.example.net:10443/roundcube/?_task=login
  Line: 0
As far as I understand, nginx doesn't see the .css extension (because ofthe ?s= argument) and thus set the mime type with the default value, being text/html.
Should I fix this in nginx (and how ?) or is it roundcube's related ?
Edit: It seems that it's nginx related. The content-type isn't set for any other type than text/html.
I had to include manually the following declarations to force CSS and JS content-types. That's ugly, and I never had the problem before... any idea ?
location ~ \.css {
    add_header  Content-Type    text/css;
}
location ~ \.js {
    add_header  Content-Type    application/x-javascript;
}