nginx无法识别css和图像:资源被解释为样式表,但使用MIME类型text / html进行传输

时间:2017-08-16 14:20:52

标签: php nginx webserver mime-types

我试图在子目录中运行Rainloop。 http://babylon/webmail。我得到css和js不被识别。例如:

Resource interpreted as Stylesheet but transferred with MIME type text/html: "http://babylon/webmail/rainloop/v/1.10.5.192/static/css/rainloop/v/1.10.5.192/static/css/app.min.css?standard".

我尝试了一些可能的(但没有工作)解决方案:

  1. " include /etc/nginx/mime.types;"可以在nginx.conf中找到。
  2. 有人说,php的位置搞砸了那个部分,所以我应该添加这一行:

    fastcgi_split_path_info ^(。+。php)(/。+)$; #this line

  3. 但它仍然没有用。

    1. 我为root用户添加css和javascript的新位置,但也没有。
    2. 我的配置就是这个:(它是一个包含的文件)

      location ^~ /webmail {
          root /srv/rainloop/public_html;
          try_files $uri $uri/ /webmail/index.php?$query_string;
          access_log /srv/rainloop/logs/access.log;
          error_log /srv/rainloop/logs/error.log;
          index index.php;
          access_log /var/log/nginx/scripts.log scripts;
      
          location ~ \.php$ {
              #if (!-f $request_filename) { return 404; }
              include fastcgi_params;
              #fastcgi_split_path_info ^(.+\.php)(/.+)$; #this line
              fastcgi_pass unix:/var/run/php5-fpm.sock;
              fastcgi_index index.php;
              #fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
              fastcgi_param SCRIPT_FILENAME /srv/rainloop/public_html/index.php;
          }
      
          location ~ /\.ht {
              deny all;
          }
      
          location ^~ /webmail/data {
              deny all;
          }
      }
      

5 个答案:

答案 0 :(得分:2)

我认为它可以解决您的问题。

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

答案 1 :(得分:0)

我在使用CSS和Javascript文件时遇到了同样的问题,它们被用作text/html。在尝试了数小时内我能想到的一切而没有任何效果之后,重新启动Chrome即可自动解决该问题。

答案 2 :(得分:0)

将下面的代码块添加到适当的位置块中:

smtp.gmail.com

答案 3 :(得分:0)

将这两行添加到 http {}

include /etc/nginx/mime.types;
default_type application/octet-stream;

答案 4 :(得分:0)

有时会删除

<Document html>

从 html 文件的顶部开始,一切都做得很好。 试试看。