如何从Nginx中的多个JS,CSS目录提供HTML

时间:2018-06-26 12:21:57

标签: javascript nginx hosting

我的目录结构是-

project
|----theme
|    |----css
|    |----images
|    |----js
|
|----pages
|    |----css
|    |----images
|    |----js
|    |----index.html
|
|----libraries
|    |----lib1
|    |     |----lib1.js
|    |    
|    |----lib2
|    |     |----lib2.js

和我的nginx / sites-available配置是-

server {
  listen 80 default_server;
  listen [::]:80 default_server;
  root /home/ubuntu/project/pages;
  index index.html;
  server_name mydomain.com www.mydomain.com;

  location ~* \.(js|jpg|png|css)$ {
    root /home/ubuntu/project;   -----(A)
  }
}

我从pages / index.html引用了“主题”和“库”中的文件。 但是,当尝试加载这些文件时,控制台会输出404错误。 如何正确提供这些文件?

如果我在(A)中为根目录编辑并附加“ / pages”,则将提供“ pages” JS,但是再找不到“ theme”和“ libraries”中的文件(在控制台中显示404错误)。

1 个答案:

答案 0 :(得分:0)

您需要使用try_files尝试其他位置

location ~* \.(js|jpg|png|css)$ {
  root /home/ubuntu/project;
  try_files $uri $uri/ /pages$uri /theme$uri =404;
}