nginx将CSS文件加载为文本/纯文本

问题描述 投票:0回答:2

我将nginx配置为仅加载静态文件,但我不知道为什么.css文件被解释为文本/纯文本-最终浏览器无法加载它。

Resource interpreted as Stylesheet but transferred with MIME type text/plain: "http://localhost:13000/styles.css".

当我在css文件的Web浏览器中检查响应头时:

Content-Type: text/plain

我知道在堆栈上我们有很多问题,我已经阅读过,但仍然无法使用。

在HTML文件中,我刚刚导入了CSS:

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

我的/etc/nginx/nginx.conf是:

worker_processes        1;
events {
    worker_connections  512;
}

http {
    server {
        listen       80;
        server_name  0.0.0.0:80;
        include /etc/nginx/mime.types;
        root   /project/app;

        location ~* ^.+\.(js|css)$ {
            expires 10d;
        }
    }
}

我尝试过没有任何位置部分或尝试过:

location ~ \.css {
 add_header Content-Type text/css;
}

在其他线程的一些回复中,我看到这是必需的:

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

[我在http部分中添加了它,然后在server中然后在location中添加了它,仍然没有帮助我。

还有其他什么办法可以解决?

css nginx mime
2个回答
5
投票

以防万一有人遇到相同的问题并使用docker。这是关键字-我将docker与图像nginx:latest一起使用会导致问题,我将其更改为nginx:1.14.2,并且一切正常。

在html中,导入CSS:

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

我的nginx.conf配置:

worker_processes        1;
events {
    worker_connections  512;
}

http {
    include    mime.types;
    sendfile on;
    server {
        listen       80;
        server_name  0.0.0.0:80;
        root   /project/app;
    }
}

0
投票

在这里查看我的答案:https://stackoverflow.com/a/58537214/10597330

这很重要NOT,要忘记硬重装。在Chrome上使用Ctrl + Shift + R

© www.soinside.com 2019 - 2024. All rights reserved.