Wrong Content-Type

Julien Vehent julien at linuxwall.info
Fri Dec 3 13:17:57 MSK 2010


On 12/03/2010 10:20 AM, Igor Sysoev wrote:
> On Fri, Dec 03, 2010 at 10:16:34AM +0100, Julien Vehent wrote:
>
>> On 12/03/2010 09:45 AM, Igor Sysoev wrote:
>>> On Fri, Dec 03, 2010 at 09:17:13AM +0100, Julien Vehent wrote:
>>>
>>>> Hi list,
>>>>
>>>> I'm having a content-type issue with nginx 0.7 on Debian Squeeze.
>>>>
>>>> I have mime.types included in the "http" directive, but when requesting
>>>> CSS or Javascript file, the content type is set to text/html.
>>>> (the application is Roundcube 0.5 beta).
>>>>
>>>> I have found a workaround by adding this in my server declaration:
>>>>
>>>>        location ~ \.css {
>>>>            add_header  Content-Type    text/css;
>>>>        }
>>>>
>>>> But it's quite ugly. Is there any better way to fix this problem ?
>>>
>>> Does nginx proxy these files or handle them as static files ?
>>>
>>>
>>
>> Static files stored in /var/www and owned by www-data (nginx process
>> owner). It's the default debian configuration.
>>
>> Php5 is fastcgi on a local tcp socket.
>> There is nothing wrong in error.log.
>
> Are these CSS and JS files handled by PHP ?
>
>

Good catch ! I don't know how I missed this, but I was sending ALL of 
the static files to PHP...

My location was set like that:

-----
  location /roundcube {
     client_max_body_size 100m;
     include fastcgi_params;
     fastcgi_index  index.php;
     fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
     fastcgi_pass   127.0.0.1:9000;
  }
-----

I changed it to add the if constraint and it works fine now:
-----
  location /roundcube {
   client_max_body_size 100m;
   include fastcgi_params;
   fastcgi_index  index.php;
   fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
   if ($uri ~ "\.php"){
     fastcgi_pass   127.0.0.1:9000;
   }
  }
-----


Thanks,

Julien



More information about the nginx mailing list