我将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
中添加了它,仍然没有帮助我。
还有其他什么办法可以解决?
以防万一有人遇到相同的问题并使用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;
}
}
在这里查看我的答案:https://stackoverflow.com/a/58537214/10597330。
这很重要NOT,要忘记硬重装。在Chrome上使用Ctrl + Shift + R
。