如何使用多个域配置Tomcat; www映射到错误的域

时间:2016-09-15 02:57:11

标签: tomcat subdomain no-www

我对Tomcat一无所知,但无论如何我还是试着去做。我们有一个Tomcat设置,它以单个域开头,但后来我们添加了另一个(' mysite.net')。我们的server.xml看起来像:

  <Host name="localhost" appBase="webapps" unpackWARs="true" autoDeploy="true">
    <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" />
  </Host>
  <Host name="mysite.net" appBase="webapps/mysite" path="" unpackWARs="true" autoDeploy="true">
    <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
       prefix="mysite_access_log." suffix=".txt"
       pattern="%h %l %u %t &quot;%r&quot; %s %b" />
  </Host>

mysite.com运行正常 - 问题是www.mysite.com解析为我们的第一个站点(在/ usr / share / tomcat / webapps / ROOT下找到)。也许用.htaccess文件解决了这个问题?我的server.xml配置是完全错误的吗?

1 个答案:

答案 0 :(得分:1)

如果mysite.com和mysite.net是完全独立的应用程序:例如,为www.mysite.net使用不同的文件夹,/usr/share/tomcat/mysite。然后使用appBase="mysite"作为第二个站点。这样你就可以为每个人提供一个ROOT.war。

如果mysite.com和mysite.net做同样的事情:在主机标记下添加别名。

<Host name="localhost" appBase="webapps" unpackWARs="true" autoDeploy="true">
<Alias>www.mysite.net</Alias>
<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" />
</Host>