Как сопоставить поддомен с веб-приложением на Tomcat 6 (включая корневое веб-приложение)?

Субъект говорит все это. Я хочу сопоставить каждый субдомен с веб-приложением, например:

http://root.domain.com:8080 -> http://domain.com:8080/
http://manager.domain.com:8080 -> http://domain.com:8080/manager
http://abc.domain.com:8080 -> http://domain.com:8080/abc
http://def.domain.com:8080 -> http://domain.com:8080/def

на локальной машине это будет

http://root.localhost:8080 -> http://localhost:8080/
http://manager.localhost:8080 -> http://localhost:8080/manager
http://abc.localhost:8080 -> http://localhost:8080/abc
http://def.localhost:8080 -> http://localhost:8080/def

В идеале я хотел бы использовать порт 80 вместо 8080, но это другая история. Я был бы рад начать сначала с 8080, так что путь в конце URL исчезнет.

Обратите внимание, что стрелки - это не перенаправления, а то, что я бы ввел, если бы оставил Tomcat как есть.

Я знаю страницу документации Tomcathttp://tomcat.apache.org/tomcat-6.0-doc/virtual-hosting-howto.html, Я читал это много раз, но не добился большого прогресса. Я отредактировал etc / hosts, чтобы добавить 127.0.0.1 bbstats.localhost. Затем я добавил

<Host name="bbstats.localhost" appBase="webapps/bbstats"
      unpackWARs="true" autoDeploy="true"
      xmlValidation="false" xmlNamespaceAware="false">
</Host>

к серверу Tomcat server.xml в каталоге conf. Файл context.xml моего веб-приложения:

<Context path="/bbstats" docBase="bbstats" debug="5" reloadable="true" crossContext="true"> 
</Context>

Перезапустите Tomcat. Redploy через Ant. При входе

Http: //bbstats.localhost: 8080 /

в браузер, я получаю пустой экран.

При использовании appBase = "webapps" вместо appBase = "webapps / bbstats" я получаю корневое приложение Tomcat. Последнее поведение является ожидаемым. Но как мне заставить bbstats.localhost: 8080 перейти в веб-приложение bbstats без конечного / bbstats в URL?

Ответы на вопрос(1)

Ваш ответ на вопрос