我有一个运行两个虚拟主机的 tomcat 6 安装,有两个应用程序作为 root。不要管那个。这是一个非常基本的设置:
服务器.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
在重定向中使用,但它仍然将我重定向到不正确的主机。我比以前更迷失了。