2012-04-05 5 views
1

'/'URI를 지정된 컨트롤러의 작업으로 리디렉션하고 싶습니다. 나는 UrlMappings.groovy에 다음 코드를 통해 그것을 할하는 데 사용 :URL 매핑, URL 리디렉션/다시 쓰기

"/"(action: "highlights", controller: "project") 

그러나, 이것은 브라우저에서 URL을 다시 작성하지 않습니다. 올바른 컨트롤러의 작업으로 리디렉션하지만 브라우저의 탐색 URL은 여전히 ​​myProject/입니다. 나는 그것이 "올바른"URI를 사용하도록 "올바른"URI로 업데이트되도록하고 싶습니다.

내가 시도 :

"/"(uri: "/project/highlights") 

하지만 난 상태 404 응답을 얻을.

진행 방법에 대한 제안 사항은 무엇입니까?

답변

3

URL 매핑은 url을 사용자의 controller.action에 매핑하는 방법입니다. 리디렉션은 수행하지 않습니다. URL 리디렉션을 원할 경우 응용 프로그램 서버 앞에 apache와 같은 http 서버를 설치해야합니다. 그렇지 않으면 리디렉션을 수동으로 수행 할 수 있도록 controller.action을 설정하는 것이 더 쉬운 방법 일 것입니다.

"/"(action: "redirect", controller: "project") 
project 컨트롤러에서

redirect 동작은 당신의 highlights 조치로 사용자를 리디렉션.

+1

감사합니다. PS : "redirect"로 명명 된 경우 컨트롤러의 동작이 Grails의 redirect() 메소드보다 우선합니다 –

1

응용 프로그램이 myProject/ 컨텍스트에 배포됩니다. 따라서 응용 프로그램의 루트 ("/")는 myProject/입니다. 응용 프로그램을 서버 루트 컨텍스트에 배포하는 것입니다. Config.groovy에 grails.app.context = “/”을 설정하면됩니다.