Apache tomcat:基于URL的重定向部分有效

时间:2015-12-03 15:03:45

标签: linux apache tomcat web-applications

我正在单个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 &quot;%r&quot; %s %b" />

现在我的webapps文件夹中只有两个webapps,既不是ROOT.war。我希望这些信息足够了。请告诉我为什么会出现这个问题。非常感谢。 : - )

2 个答案:

答案 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>

此配置对我有用,并解决了我的问题。