Как сопоставить поддомен с веб-приложением на 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?