我正在单个tomcat实例中部署多个webapps,其中要调用的webapp取决于用户调用的URL
。因此,如果用户调用www.domain-one.com
,则firstapp.war
是用户正在查找的Web应用程序,并将向用户显示。
我对此感到非常幸运。现在,如果我调用www.domain-one.com
,则没有任何反应,但如果我调用www.domain-one.com/firstapp
,则会调用正确的webapp。
我只是想在上下文路径中摆脱那个firstapp。我该如何实现呢?
这是我的配置:
<Host name="localhost" appBase="webapps" unpackWARs="true" autoDeploy="true"/>
<Host name="www.domain-one.com" autodeploy="true" unpackWARs="true" appBase="/war/firstapp"/>
<Host name="www.domain-two.com" autodeploy="true" unpackWARs="true" appBase="/war/secondapp"/>
<!-- SingleSignOn valve, share authentication between web applications
Documentation at: /docs/config/valve.html -->
<!--
<Valve className="org.apache.catalina.authenticator.SingleSignOn" />
-->
<!-- Access log processes all example.
Documentation at: /docs/config/valve.html
Note: The pattern used is equivalent to using pattern="common" -->
<Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
prefix="localhost_access_log." suffix=".txt"
pattern="%h %l %u %t "%r" %s %b" />
现在我的webapps文件夹中只有两个webapps,既不是ROOT.war。我希望这些信息足够了。请告诉我为什么会出现这个问题。非常感谢。 : - )
答案 0 :(得分:1)
根据您的tomcat majour版本,请点击此处:
Tomcat 6 - https://tomcat.apache.org/tomcat-6.0-doc/virtual-hosting-howto.html
Tomcat 7 - https://tomcat.apache.org/tomcat-7.0-doc/virtual-hosting-howto.html
Tomcat 8 - https://tomcat.apache.org/tomcat-8.0-doc/virtual-hosting-howto.html
这非常简单,让你摆脱背景路径。
答案 1 :(得分:0)
我使用了不同的配置解决了这个问题:
<Host name="localhost" appBase="webapps" unpackWARs="true" autoDeploy="true"/>
<Host name="firstdomain.com" autoDeploy="true" unpackWARs="true" appBase="firstdomain_webapps">
<Alias>www.firstdomain.com</Alias>
<Context path=""/>
</Host>
<Host name="seconddomain.com" autoDeploy="true" unpackWARs="true" appBase="seconddomain_webapps">
<Alias>www.seconddomain.com</Alias>
<Context path=""/>
</Host>
此配置对我有用,并解决了我的问题。