Wrong Content-Type
Igor Sysoev
igor at sysoev.ru
Fri Dec 3 13:59:47 MSK 2010
On Fri, Dec 03, 2010 at 11:17:57AM +0100, Julien Vehent wrote:
> 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;
> }
> }
> -----
This is wrong way to it: you should use just locations:
location /roundcube/ {
location ~ \.php {
client_max_body_size 100m;
fastcgi_pass 127.0.0.1:9000;
include fastcgi_params;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
}
}
--
Igor Sysoev
http://sysoev.ru/en/
More information about the nginx
mailing list