如何将子域映射到 Tomcat 6 上的 webapp(包括根 webapp)? [英] How do you map a sub domain to a webapp on Tomcat 6 (including the root webapp)?

查看:39
本文介绍了如何将子域映射到 Tomcat 6 上的 webapp(包括根 webapp)?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

主题说明了一切.我想要的是将每个子域映射到一个 web 应用程序,如:

subject says it all. What I want is to map each sub domain to a webapp like:

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 末尾的路径就会消失.

Ideally, I'd like to use port 80 instead of 8080, but that's another story. I'd be happy to get it going with port 8080 at first, so that the path at the end of the URL disappears.

请注意,箭头不是重定向,而是如果我保持 Tomcat 原样,我会输入的内容.

Note, the arrows aren't redirects but what I'd enter if I left Tomcat as is.

我知道 Tomcat 文档页面 http://tomcat.apache.org/tomcat-6.0-doc/virtual-hosting-howto.html.我读了很多遍,但没有取得太大进展.我编辑 etc/hosts 添加 127.0.0.1 bbstats.localhost.然后我添加了

I know the Tomcat docs page http://tomcat.apache.org/tomcat-6.0-doc/virtual-hosting-howto.html. I've read it many times, but didn't make much progress. I edited etc/hosts to add 127.0.0.1 bbstats.localhost. I then added

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

到 conf 目录中 Tomcat 的 server.xml.我的 webapp 的 context.xml 是:

to Tomcat's server.xml in the conf dir. My webapp's context.xml is:

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

重启Tomcat.通过 Ant 重新部署.进入时

Restart Tomcat. Redploy via Ant. When entering

http://bbstats.localhost:8080/

进入浏览器,我看到一个空白屏幕.

into a browser, I get a blank screen.

当使用 appBase="webapps" 而不是 appBase="webapps/bbstats" 时,我进入了 Tomcat 的根应用程序.后一种行为是预料之中的.但是我如何让 bbstats.localhost:8080 转到 bbstats webapp 而 URL 中没有尾随/bbstats?

When using appBase="webapps" instead of appBase="webapps/bbstats", I get to Tomcat's root app. The latter behavior is kind of expected. But how do I make bbstats.localhost:8080 go to the bbstats webapp without a trailing /bbstats in the URL?

推荐答案

您能否尝试通过提供 将每个 Web 应用作为根 Web 应用嵌套在 server.xml 中的 中路径="".我自己没试过.

Can you try nesting each web app as the root webapp within the <Host> in server.xml by giving path="". I havent tried this myself.

<Host name="bbstats.localhost" appBase="webapps">
    <Context path="" docBase="/bbstats/"/>
</Host>

<Host name="tomcatstuff.localhost" appBase="webapps">
    <Context path="" docBase="/tomcatstuff/"/>
</Host>

这篇关于如何将子域映射到 Tomcat 6 上的 webapp(包括根 webapp)?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆