我有一个运行两个虚拟主机的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
,但它仍会将我重定向到错误的主机。我比以前更失落。
答案 0 :(得分:0)
这种情况经常发生。 更改grails中的设置后,我在tomcat上错误地部署了我的webapp,因此没有传播任何更改。该死。我忘了删除webapps目录中的旧目录。该死。