2010-03-15 47 views
1

Grails倾向于将所有使用其标记的URL写为/ appName/whatever。举例来说,如果我使用的标签:Tomcat/Apache的Grails URL ProxyPass

<g:javascript library="jquery"/> 

结果标记为

<script src="/appName/jquery/jquery.js"></script> 

这会导致一个问题,使用的ProxyPass与Apache/Tomcat的。我所有的CSS,JS,图片和链接都有/ appName作为前缀。

有没有办法解决这个与ProxyPass或可能的方式为Grails不前缀的appName前面的所有我的网址?

回答

1

对我而言,你是否试图以domain.com/而不是domain.com/appName运行应用程序?

如果是这样,那么你可能需要指定基地或标签绝对参数。

+0

是的,我试图将其作为domain.com运行。因此,所有事情都以/ appname为前缀,这会导致问题。问题出在g:javascript标签上,它不接受绝对参数。我想知道是否有办法告诉tomcat我正在通过/而不是/ appName访问内容? – intargc 2010-03-16 19:40:54

2

如果您没有其他应用程序在您的tomcat中作为默认运行,或者您不需要替换它,则在部署它之前,必须将war文件重命名为ROOT.war。 (并删除目录ROOT,如果存在的话)

如果你有几个应用程序和只有一个tomcat服务器,你可以使用虚拟主机。每个应用程序一个虚拟主机。 (http://tomcat.apache.org/tomcat-6.0-doc/virtual-hosting-howto.html

如果您选择虚拟主机方式,则必须在定义ProxyPass语句时使用de虚拟主机域,并确保apache服务器正确解析虚拟主机域。 (如果没有,你可能需要编辑他的OS主机文件)

对不起,我的英语。