主题已经说得很清楚了。我想要的是将每个子域名映射到一个Web应用程序,例如:
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不变时将要输入的内容。
我知道Tomcat文档页面http://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中conf目录下的server.xml文件中。我的Web应用程序的context.xml如下:
<Context path="/bbstats" docBase="bbstats" debug="5" reloadable="true" crossContext="true">
</Context>
重新启动Tomcat。通过Ant重新部署。输入时
http://bbstats.localhost:8080/
在浏览器中输入网址后,我得到了一个空白屏幕。
当使用appBase="webapps"而不是appBase="webapps/bbstats"时,我会进入Tomcat的根应用程序。后一种行为有点预期。但是,如何使bbstats.localhost:8080在URL中没有尾随/ bbstats的情况下转到bbstats Web应用程序?