用于重写静态URL的Grails URL映射
我正在尝试在用于重写静态URL的Grails URL映射,grails,Grails,我正在尝试在UrlMappings中执行类似的操作,以便为静态HTML重新编写和缩短URL: mappings = { "/page/$pageId" { uri = { "/foo/bar/pages/${pageId}.html" } } ... } 目标是将类似/page/xyz的URL发送到/foo/bar/pages/xyz.html 我还无法使上述语法起作用——Grails似乎不喜欢将闭包作为URI的值 我也试过了,但没有结束
UrlMappings
中执行类似的操作,以便为静态HTML重新编写和缩短URL:
mappings = {
"/page/$pageId" {
uri = {
"/foo/bar/pages/${pageId}.html"
}
}
...
}
目标是将类似/page/xyz
的URL发送到/foo/bar/pages/xyz.html
我还无法使上述语法起作用——Grails似乎不喜欢将闭包作为URI的值
我也试过了,但没有结束
"/page/$pageId"(uri: "/foo/bar/pages/${pageId}.html")
找不到404:/foo/bar/pages/(*).html
我使用的是Grails2.2.2。在映射到特定URI时,不使用闭包。如图所示: 将一个URI重写到另一个显式URI(而不是 控制器/动作对)执行以下操作: 因此,在你的情况下:
"/page/$pageId"(uri: "/foo/bar/pages/${pageId}.html")
如果您在views目录中将xyz.html重新标记为xyz.gsp,那么您可以进行单独的映射“/page/xyz”(视图:'xyz'),结果是404-请参阅abobve
"/page/$pageId"(uri: "/foo/bar/pages/${pageId}.html")