我的網站有像'http://someRandomUsername.mysite.com'的網址。 有時用戶會嘗試使用像 'http://www.someRandomeUsername.mysite.com'的網址。我想在我的url映射中有一些 邏輯來處理這個問題。 下面時,我打的頁面,有或沒有 不需要WWW的映射,我得到:Grails中的邏輯塊URLMappings
2012-03-01 14:52:16014 [HTTP-8080-5] ERROR [本地主機] [/ ambit] - 裝飾異常時發生頁面 java.lang.IllegalArgumentException:URL映射必須提供一個 控制器或視圖名稱映射到!
任何想法如何做到這一點?映射如下。
謝謝! 傑森
靜態映射= {
name publicMap: "/$action?/$id?" {
def ret = UrlMappings.check(request)
controller = ret.controller
userName = ret.userName
}
}
static check =
{ request ->
def tokens = request?.serverName?.split(/\./) as List ?: []
def ret = [controller:'info']
if(tokens.size() > 3 && token[0] == 'www')
{
ret.userName = tokens[1]
ret.controller = 'redirect'
ret.action = 'removeWWW'
}
else if(tokens.size() == 3)
{
ret.userName = tokens[0]
ret.controller = 'info'
}
return ret
}
冬青通心粉!爲什麼這是必要的?爲什麼不將url重定向/重寫委派給Apache? – dbrin 2012-03-01 23:27:46
Apache不在這裏使用。 – Jason 2012-03-01 23:48:01