2012-04-05 2 views
1

Я хочу перенаправить свой '/' uri на действие данного контроллера. Я использовал, чтобы сделать это с помощью следующего кода в UrlMappings.groovy:Url Mapping, Url redirection/rewriting

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

Однако это не переписывает URL в браузере. Он перенаправляет на правильное действие контроллера, но URL-адрес навигации браузера все еще находится на myProject/. Я бы хотел, чтобы он обновлялся до «правильного» uri, чтобы перезагрузить и т. Д. Использовать «правильный» uri.

Я пробовал:

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

, но я получаю статус 404 ответа.

Любые предложения о том, как я должен действовать?

ответ

3

UrlMappings предназначен только для того, как сопоставить URL-адрес с вашим контроллером. Он не будет перенаправлять. Если вы хотите перенаправить URL-адрес, вам, вероятно, нужно настроить HTTP-сервер, такой как apache, перед вашим сервером приложений, а проще всего - просто настроить controller.action для перенаправления вручную.

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

В контроллере project и redirect действие, просто перенаправить пользователя на ваш highlights действия.

+1

Я сделал это, спасибо. PS: если имя «перенаправлено», действие контроллера переопределяет метод перенаправления Grails() –

1

Приложение предназначено для использования в контексте myProject/. Следовательно, root ("/") для вашего приложения - myProject/. Что вы хотите сделать, так это развернуть приложение в корневом контексте вашего сервера. Вы можете сделать это, установив grails.app.context = “/” в свой Config.groovy.