Apache tomcat : URL 基于重定向部分工作

Apache tomcat : URL based redirection partially works

我正在努力在单个 tomcat 实例中部署多个网络应用程序,其中要调用的网络应用程序取决于用户调用的 URL。因此,如果用户调用 www.domain-one.com,那么 firstapp.war 就是用户正在寻找的 Web 应用程序,它将显示给用户。

我在这方面运气不错。现在,如果我调用 www.domain-one.com,没有任何反应,但如果我调用 www.domain-one.com/firstapp,则会调用正确的 webapp。

我只想删除上下文路径中的第一个应用程序。我该如何实现。

这是我的配置:

   <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。我希望这些信息足够了。请让我知道为什么会出现这个问题。非常感谢。 :-)

根据您的 tomcat 主要版本,请在此处查看:

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

它真的很简单,让我们也摆脱了上下文路径。

我使用了不同的配置解决了这个问题:

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

这个配置对我有用,解决了我的问题。