我想重定向我的' /' uri给定控制器的动作。我曾经通过UrlMappings.groovy
中的以下代码执行此操作:
"/"(action: "highlights", controller: "project")
但是,这不会重写浏览器中的url。它会重定向到正确的控制器操作,但浏览器的导航网址仍在myProject/
。我希望它更新为"更正" uri以便重新加载等使用"正确" URI。
我试过了:
"/"(uri: "/project/highlights")
但我得到状态404回复。
关于我应该如何进行的任何建议?
答案 0 :(得分:3)
UrlMappings仅适用于如何将网址映射到controller.action。它不会做任何重定向。 如果你想做url重定向,你可能需要在你的应用服务器前面设置一个像apache这样的http服务器,或者更简单的方法就是设置一个controller.action来手动重定向。
"/"(action: "redirect", controller: "project")
在project
控制器和redirect
操作中,只需将用户重定向到您的highlights
操作。
答案 1 :(得分:1)
您的应用程序已部署到myProject/
上下文。因此,您的应用程序的根("/"
)为myProject/
。您要做的是将应用程序部署到服务器根上下文。您可以通过在Config.groovy中设置grails.app.context = “/”
来完成此操作。