내 사이트에는 'http://someRandomUsername.mysite.com'과 같은 url이 있습니다. 때때로 사용자는 'http://www.someRandomeUsername.mysite.com'과 같은 URL을 시도합니다. 이 부분을 처리하기 위해 내 URL 매핑에 논리를 사용하고 싶습니다. 내가 사용하거나 불필요한 www를하지 않고 페이지를 쳤을 때 아래의 매핑으로 , 내가 얻을 :Grails의 로직 블록 URL 매핑
2012-03-01 14 : 52 :. 16014 [HTTP-8080-5] 오류를 [로컬 호스트] [/ ambit] - 페이지 꾸미기 중에 처리되지 않은 예외가 발생했습니다. java.lang.IllegalArgumentException : URL 매핑은 컨트롤러 또는 뷰 이름을 제공해야합니다!
어떤 방법을 생각 하나? 매핑은 다음과 같습니다.
감사합니다. DmitryB 말한 것처럼 제이슨
정적 매핑 = {
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
여기서 Apache가 사용되지 않습니다. – Jason