2012-08-23 43 views
0

我有一个运行两个虚拟主机的tomcat 6安装,以root身份拥有两个应用程序。不要管那个。 这是一个非常基本设置:在Tomcat6上使用Grails与虚拟主机时重定向错误的主机

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://hostB/controller/action时,它始终指向http://hostA/Engine/controller/action

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

我也经历了代码,以确保hostA没有提到那里,但没有发现任何东西。

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

编辑: 我试着再次设置grails.serverURL指向正确的域,并在重定向中使用absolute:true,但它仍然将我重定向到不正确的主机。我比以前失去了更多。

回答

0

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