2012-04-05 153 views
1

我想將我的'/'uri重定向到給定的控制器的操作。我曾經通過下面的代碼來做到這一點在UrlMappings.groovyUrl映射,Url重定向/重寫

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

然而,這不重寫瀏覽器的URL。它重定向到正確的控制器的操作,但瀏覽器的導航Url仍然在myProject/。我希望它被更新到「正確的」uri,以便重新加載等使用「正確的」uri。

我想:

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

但我得到一個404狀態響應。

關於我應該如何進行的任何建議?

回答

3

UrlMappings僅適用於如何將url映射到您的controller.action。它不會做任何重定向。 如果你想做url重定向,你可能需要在你的應用服務器前設置一個像apache這樣的http服務器,或者更簡單的方法是設置一個controller.action來手動重定向。

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

project控制器和redirect動作,只是將用戶重定向到您的highlights行動。

+1

我做到了,謝謝。 PS:如果命名爲「重定向」,則控制器的操作將覆蓋Grails的redirect()方法 – 2012-04-05 14:13:52

1

將您的應用程序部署到myProject/上下文中。因此,您的應用程序的根("/")是myProject/。你想要做的是將你的應用程序部署到你的服務器根上下文中。您可以通過在Config.groovy中設置grails.app.context = 「/」來完成此操作。