Разверните войну на Tomcat без военного имени в URL - PullRequest
8 голосов
/ 09 января 2010

Я создал военный файл с именем myapp.war и развернул его на Tomcat . Я изменил порт с 8080 на 80 , поэтому я могу получить к нему значение example.com/myapp (где example.com - мой хост).

Как мне настроить приложение так, чтобы при переходе на example.com оно показывало мое приложение? Я не хочу просто перенаправлять с example.com на example.com/myapp - я не хочу иметь myapp в URL.
Нужно ли настраивать Apache для обслуживания подобных страниц или я могу сделать это с виртуальным хостом в конфигурации Tomcat?

Ответы [ 4 ]

8 голосов
/ 09 января 2010

Все, что вам нужно сделать, это назвать свою войну ROOT.war.

4 голосов
/ 09 января 2010

Вам не нужно настраивать внешний интерфейс Apache или настраивать виртуальный хостинг в Tomcat для этого. Вместо этого просто разверните свое веб-приложение в «корневом контексте». Чтобы сделать это, обратитесь к Как сделать мое веб-приложение приложением по умолчанию Tomcat? в Tomcat Wiki. Они описывают три возможных метода, поэтому вы сможете выбрать тот, который наилучшим образом соответствует вашим потребностям.

3 голосов
/ 23 октября 2015

Вот два возможных метода:

  1. Переименуйте вашу войну в ROOT.war
  2. Не нужно переименовывать. Перейдите к CATALINA_BASE/conf/server.xml Найти элемент Host и установите autoDeploy="false" deployOnStartup="false", затем добавьте <Context path="" docBase="your_project_name"/> в конце как:

expamle # 2:

  <Host name="localhost"  appBase="webapps"
        unpackWARs="true" autoDeploy="false" deployOnStartup="false"> 

    <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
           prefix="localhost_access_log." suffix=".txt"
           pattern="%h %l %u %t &quot;%r&quot; %s %b" />
    <Context path="" docBase="your_project_name"/><!--Add this-->
  </Host>
0 голосов
/ 09 января 2010

Ознакомьтесь с практикой Tomcat по виртуальному хостингу .

...