У меня есть два веб-приложения, работающие на одном сервере, например, app1 и app2.

app1 - это приложение ROOT, т.е. оно будет запускаться всякий раз, когда кто-нибудь нажимает на URL, например, http://example.com/.

app2 - это другое приложение, которое будет запущено , когда кто-нибудь нажмет URL, например, http://example.com/newapp/.

Я использую nginx в качестве веб-сервера, и оба веб-приложения имеют свой собственный статический контент (js, css, images) для обслуживания.

для app1 я использую следующее,

 location ~* \.(js|css|png|jpg|jpeg|gif|ico) {
      root <path_to_tomcat>/webapps/ROOT;
      expires 1y;
      log_not_found off;
 }

это работает очень хорошо, и статическое содержимое подается как очарование.

И для app2 я использую,

 location ~* /newapp+\.(js|css|png|jpg|jpeg|gif|ico) {
      root <path_to_tomcat>/webapps/app2;
      expires 1y;
      log_not_found off;
 }

для app2 статический контент никогда не обслуживается.

Я попытался поискать в сети об этом, но не получил точные ссылки для обслуживания различных статических на основе URL-адресов.

1 ответ1

0

root директива может использоваться для создания простых физических путей, где URI формирует последнюю часть пути.

Вы можете сопоставить URI, например /newapp/resource.css используя root примерно так:

/path/to/tomcat/webapp/newapp/resource.css

Использование root /path/to/tomcat/webapp; заявление.

Если вы должны сопоставить URI с физическим путем, который не содержит весь URI, вы должны использовать другой метод, такой как alias или rewrite .

Лично было бы более эффективно переименовать каталог и использовать root .

Смотрите это и это для деталей.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .