Nginx找到了css,但没有将它加载到index.html中

时间:2015-04-03 12:20:08

标签: html css nginx stylesheet

我的nginx服务器提供index.html文件,该文件加载css文件和一些js文件。加载了css文件(NO 404),但样式没有出现。

文件夹:

/src
    /assets
        /images
            ...
        /sounds
            ...
    /css
        /style.css
    /js
        ...
    index.html

js文件加载的声音和图像效果很好。

/ etc / nginx / sites-enabled / default /:

server {
  listen 8080;
  server_name jumpnrun jumpnrun.vm;
  access_log /var/log/nginx/jumpnrun.access.log;
  error_log /var/log/nginx/jumpnrun.error.log;

  location / {
    try_files $uri $uri/index.html;
  }

  location ~ ^/(assets/|css/|js/|index.html) {
    root /src;
    index index.html;
    access_log off;
  }

  location /socket.io {
    add_header Access-Control-Allow-Origin *;
    proxy_set_header Upgrade $http_upgrade;
    proxy_set_header Connection "upgrade";
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header Host $host;
    proxy_http_version 1.1;
    proxy_pass http://node-server;
  }

}

index.html:

<!DOCTYPE html>
<html lang="en">
    <head>
        <meta charset="UTF-8" />
        <title>Jump n' Run</title>
        <link href="css/style.css" type="text/css" rel="stylesheet" />
    </head>
    <body>
        <canvas id="game" width='1000' height='500'></canvas>
        <button class="sound"></button>
    </body>
    <!-- JS -->
</html>

如果我转到localhost:8080,它会给我索引页面,但没有任何样式,开发工具不会向我显示任何错误。

感谢您的帮助!

修改

整个东西都在docker容器中。现在每次我浏览到localhost:8080 nginx死了。错误日志以某种方式无法访问..

2 个答案:

答案 0 :(得分:6)

我有一个类似的问题并通过确保我的nginx.conf中的http块正在加载正确的mime.types映射来解决它:

http { 
    include /etc/nginx/mime.types;
}

答案 1 :(得分:0)

尝试添加@charset“UTF-8”;

位于css文件的顶部 它对我有用。希望它适合你