У моего сайта есть такие URL-адреса, как «http://someRandomUsername.mysite.com». Иногда пользователи пытаются использовать такие URL-адреса, как «http://www.someRandomeUsername.mysite.com». Я хотел бы иметь некоторую логику в моих сопоставлениях URL-адресов, чтобы справиться с этим. С приведенными ниже сопоставлениями, когда я попадаю на страницу, с ненужным www или без него, я получаю:
2012-03-01 14:52:16,014 [http-8080-5] ОШИБКА [localhost].[/ambit] — Необработанное исключение возникло при оформлении страницы сопоставить!
Любая идея, как это сделать? Отображение ниже.
Спасибо! Джейсон
статические отображения = {
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
}