【发布时间】:2013-07-19 20:01:03
【问题描述】:
`我的 grails 应用程序部署在运行在 Debian Stable 上的 Tomcat 7.0.32 的 ROOT 上下文中。我通过设置 apache-tomcat-7.0.32/conf/Catalina/localhost/ROOT.xml 启用了此功能:
<?xml version="1.0" encoding="UTF-8"?>
<Context path="" docBase="/home/tomcat/explodedWarDirectory/" antiResourceLocking="false" privileged="true" />
当 Grails 的 g:link 标记被评估或调用来自控制器的 redirect() 时,所有 URL 的开头都包含 //,可能是因为上下文为空。
所以,我把上面的配置改成<Context path="/",还是一样的问题。
如何使链接或重定向正常工作,这样我的网址开头就没有//?
【问题讨论】:
-
您根本不需要
path=".....",因为要使用的上下文路径是从文件名推断出来的(ROOT.xml表示根上下文,foo.xml表示/foo, ETC。)。试试<Context docBase="..." -
我已经删除了该属性,但没有运气!不过感谢您的想法。
-
您还可以检查
Config.groovy中的grails.serverURL是否没有尾部斜杠... -
谢谢 Andrew - 这是一个斜杠导致的!