domen.com;
root /home/path;
#try_files $uri $uri/ /index.html =404;
location /static {
alias /home/path/static;
}
location subdomen/ {
try_files $uri $uri/ /index.html =404;
}
настроил вот такой вот конфиг. Но почему то domen.com/subdomen не берёт css js файлы
но когда убираю subdomen тоесть
location / {
try_files $uri $uri/ /index.html =404;
}
то все норм работает. От чего такое может быть?
что в логах? p.s. в твоём конфиге alias избыточен
От того, что твоё приложение запрашивает ассеты без префикса /subdomain, соответственно запросы не попадают в нужный локейшен. Лечится правкой приложения, а не конфига nginx. Кроме того, в try_files тоже надо запрашивать index с этим префиксом: try_files $uri /subdomain/index.html;
у него же не proxy_pass, а что-то вида spa
тогда уж //, чтобы исходный протокол обращения сохранялся. и ... зачем ./ то?
Речь не про протокол, речь про browsing context Это relative URL, будет зависить от того, откуда запрошен скрипт Допустим, он может пересобрать аппликуху, чтобы ссылки на ассеты выглядели так: <script src="/subdomain/main.js"> Но тогда оно будет жёстко привязано к URI-префиксу /subdomain А если сделать эти ссылки относительными, будет работать с любым URI-префиксом Если его индекс будет открыт по адресу domain.com/prefix/, то скрипт по относительной ссылке ./main.js как раз и будет запрошен как /prefix/main.js Вне зависимости от того, чему на самом деле равен префикс.
я про то, что ./ избыточен. вместо ./main.js достаточно main.js указать
супер ща попробуем
Да, ты прав, <script src="main.js"> тоже будет относительным и тоже будет работать с любым префиксом. Но некоторые фреймворки (в частности react) при сборке аппликухи будут добавлять к префиксу /main.js, а не main.js, вот для таких и надо в basepath указывать точку, чтобы по итогам получилось ./main.js, там по другому никак.
тогда да, универсальнее будет
Обсуждают сегодня