我想包含Grails的默认网址映射。这是,如果请求的url在url映射中没有规则,则应该重定向到home / index。
我的网址映射目前是:
class UrlMappings {
static mappings = {
"/$controller/$action?/$id?(.$format)?" {
constraints {
// apply constraints here
}
}
"/"(controller:"home", action:"index")
"/admin"(controller:"login",action:"authadmin")
"/robots.txt"(controller:"home",action:"robots")
"/sitemap.xml"(controller:"home",action:"sitemap")
"404"(controller:"home",action:"notfound")
"500"(view:'/error')
"/**"(controller:"home", action:"index")
}
}
我使用以/ **开头的最后一条规则来映射url映射中没有特定规则的所有传入请求。问题是,当我将以下内容放入我的GSP文件
时<g:link controller="home" action="index"><div class="MainLogo"></div></g:link>
然后网址看起来像这样:
http://www.example.com/**
有没有办法纠正这个?如何为定义了url映射中的规则的URL创建默认映射?
答案 0 :(得分:3)
我不能说我真的建议这种方法,因为真的最好为不存在的页面发回404,但无论如何我认为最好的方法是双卡通道。参见:
http://grails.org/doc/latest/guide/theWebLayer.html#mappingWildcards
例如:
"/$path**"(controller:"home", action:"index")