在Tomcat6上使用带有虚拟主机的Grails时,重定向上的主机不正确

时间:2012-08-23 19:58:41

标签: tomcat grails redirect virtualhost

我有一个运行两个虚拟主机的tomcat 6安装,以root身份拥有两个应用程序。不要管那个。 这是一个非常基本的设置:

server.xml中

    <Engine name="Catalina" defaultHost="hostA">
      <Realm className="org.apache.catalina.realm.UserDatabaseRealm"
             resourceName="UserDatabase"/>
      <Host name="hostA"  appBase="webapps"
            unpackWARs="true" autoDeploy="true"
            xmlValidation="false" xmlNamespaceAware="false">
  <Context path="" docBase="Invoices-0.1.war" reloadable="true" useHttpOnly="true"/>
      </Host>
      <Host name="hostB" appBase="webappsTwo" unpackWARs="true" autoDeploy="true" xmlValidation="false" xmlNamespaceAware="false">
        <Context path="" docBase="Engine-0.1.war" reloadable="true" useHttpOnly="true"/>
      </Host>
    </Engine>

很难让它变得简单。

我遇到的问题是,无论何时在hostB上的引擎应用上执行重定向,它都会发送错误的URL。 它始终指向http://hostA/Engine/controller/action,指向http://hostB/controller/action

起初我认为这是Config.groovy和服务器URL的问题。我已经仔细检查了,没关系。我已经尝试删除配置选项,但仍然没有喜悦。 第一个应用程序,在hostA上工作正常。

我还仔细检查了代码,以确保在那里没有提到hostA,但一无所获。

我现在迷路了,有什么建议吗?

编辑: 我已尝试再次设置grails.serverURL以指向正确的域并在重定向中使用absolute:true,但它仍会将我重定向到错误的主机。我比以前更失落。

1 个答案:

答案 0 :(得分:0)

这种情况经常发生。 更改grails中的设置后,我在tomcat上错误地部署了我的webapp,因此没有传播任何更改。该死。我忘了删除webapps目录中的旧目录。该死。