Grails倾向于写出使用其标签为/ appName / whatever的所有内容的URL。例如,如果我使用标签:
<g:javascript library="jquery"/>
生成的标签是
<script src="/appName/jquery/jquery.js"></script>
这会导致使用ProxyPass和Apache / Tomcat时出现问题。我的所有CSS,JS,图像和链接都以/ appName为前缀。
有没有办法解决这个问题,使用ProxyPass或者Grails可能不会将appName加到我所有网址的前面?
答案 0 :(得分:2)
如果您的tomcat中没有其他应用程序作为默认值运行,或者您不关心替换它,则必须在部署之前将war文件重命名为ROOT.war。 (并删除目录ROOT,如果存在)
如果您有多个应用程序且只有一个tomcat服务器,则可以使用虚拟主机。每个应用程序一个虚拟主机。 (http://tomcat.apache.org/tomcat-6.0-doc/virtual-hosting-howto.html)
如果选择虚拟主机方法,则在定义ProxyPass语句时必须使用de virtualhost域,并确保apache服务器正确解析虚拟主机域。 (如果没有,您可能需要编辑他的os主机文件)
对不起我的英语。
答案 1 :(得分:1)
这对我有用,您是尝试以domain.com/而不是domain.com/appName运行应用程序吗?
如果是这样,那么您可能需要在标记中指定 base 或绝对参数。