在我的Grails应用程序中,我有几个域类,如Author
和Book
。我使用的是默认的URL映射:将名称包含在Grails URL中
static mappings = {
"/$controller/$action?/$id?"{
constraints {
// apply constraints here
}
}
}
所以相对URL以显示书的ID 2 /book/show/2
。要向id 5显示作者是/author/show/5
。 Author
和Book
类都具有name
属性,但这并不保证是唯一的。
对于搜索引擎优化的原因,我想在这些网址中包含这个名字,例如:更改URL以显示书籍/book/show/2/the+davinci+code
以及将作者显示为/author/show/5/dan+brown
的URL。
为了防止破坏任何现有的(外部)链接到我的网页,我会非常愿意支持这两种格式,使得下面的任一会告诉丹·布朗的页面
/author/show/5
/author/show/5/dan+brown
什么是我从现在所在的位置(仅带有ID的URL)到我想要的位置(支持ID和名称的URL)的最简单方式?