2010-03-01 21 views
6

standart bir yol olduğunu SEO /news/show/102Grails dostu URL'ler grails URL'leri yaratma

istediğim daha SEO dostu URL'ler gibi:

/news/102/this-is-the-hottest-news-today 

neler bunu Grails'de yapmanın en temiz yolu nedir? /news/show/102'u /news/102 ile eşlemek için URLMapping öğelerini kullanabilirdim, ancak yukarıdaki gibi tam URL'yi nasıl oluşturabilirim?

cevap

15

Böyle bir parametre haline başlık dönüşebilecek:

name story: "/news/$id/$headline" { 
    controller = "news" 
    action = "show" 
} 

Bu yolla onları başlık ve hala çalışacak haritalama ile Url'lerinize oluşturabilir. Elbette denetleyicinizde görünecek olan başlık parametresini kullanmanız gerekmiyor. - http://www.grails.org/plugin/canonical

+0

+1 Ayrıca kanonik URL'ler oluşturmak için bu eklenti ilginizi çekebilir

${createLink(mapping: "story", params: [id: 102, headline: 'this-is-the-hottest-news-today'])} 

: o zaman söyleyebiliriz böylece Yukarıdaki örnek adlandırılmış URL eşlemesi kullanır. 'Haritalama' argümanı, ihtiyacım olan şeydi. Teşekkürler. – Langali

+0

Dave teşekkürler! Bu yöntem, mevcut yerel bölgeye bağlı olarak belirli bir eşleştiriciyi hedefleyebileceğiniz çoklu dil siteleri için çok kullanışlıdır. Örneğimde, öykü ve öykü-saat eşlemlerim var ve benim g: bağlantısında eşleme kullanıyorum: seçili yerel ayar için uygun bir eşleştiriciyi seçen "öykü - $ {locale}". –