Как обслуживать HTML из нескольких JS, каталог CSS в nginx - PullRequest
0 голосов
/ 26 июня 2018

Моя структура каталогов -

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

и мой доступный конфиг nginx / sites-

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 при попытке загрузить эти файлы. Как я могу правильно обслуживать эти файлы?

Если я отредактирую и добавлю «/ pages» для корня в (A), JS «pages» будет обслужен, но затем снова не найдены файлы в «theme» и «library» (ошибка 404 в консоли).

1 Ответ

0 голосов
/ 26 июня 2018

Вам нужно использовать try_files, чтобы попробовать разные места

location ~* \.(js|jpg|png|css)$ {
  root /home/ubuntu/project;
  try_files $uri $uri/ /pages$uri /theme$uri =404;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...