我正在使用Grails 2.3.6,並嘗試重定向URL以包含尾隨的正斜槓,但保留原有網址的其餘部分。原因是因爲我有動態的內容,它會有圖像和附件。我想這些圖片和附件顯示爲動態內容的子頁面,例如:Grails重定向以包含尾隨正斜槓
http://example.com/content
將指向一個動態生成的一段內容,沒有任何問題。但是,如果我想要附件,我會包含一個指向attachments/file1.pdf
的href鏈接。 問題是,通過上面的例子,它會產生http://example.com/attachments/file1.pdf
(注意/content/
已被刪除)。
我真正想要的是路徑看起來像:
http://example.com/content/attachments/file1.pdf
我想最好的解決辦法是有內容的網址被重定向到包含正斜槓(如果他們不這樣做已經有一)。不幸的是,我一直陷入錯誤或重定向循環。
我在這裏嘗試了建議:Grails UrlMapping Redirect to keep DRY,但UrlMappings.groovy不區分不夠,當我告訴相同的URL去兩個不同的地方(唯一的區別是最後的斜線)
static mappings = {
"/${content}/"(controller: "application", action: "index")
"/${content}"(controller: "application", action: "redirectToAddSlash")
}
我也知道Grails 2.3包含UrlMapping重定向,但提供的示例不包含嵌入的變量。
理想我想有這樣的事情:提前
static mappings = {
"/${content}/"(controller: "application", action: "index") <=== Has trailing slash
"/${content}"(redirect: "/${content}/") <=== Redirect to include trailing slash
}
感謝任何幫助!