我有一个基本的应用程序正在运行,如果他们尝试访问的操作不在控制器中,我希望用户被重定向到主要的基本操作。
我设置了一些路线:
addRoute(name="pinShow", pattern="pin/show/[key]", controller="pin", action="show");
addRoute(name="pinShow", pattern="pin/show", controller="pin", action="show");
addRoute(name="pin", pattern="pin", controller="pin", action="index");
目前,如果用户键入/pin/something/
URL,则加载的操作是 index,但仍停留在该 URL 上。我想做一个 301 重定向,而不是简单地加载到默认操作视图等中。
我以为我可以使用控制器中的验证功能来做到这一点,但它似乎不起作用。
verifies( except="index,show", handler="invalidAction" );
我的处理程序是:
private void function invalidAction() {
flashInsert( messages = [{ messageString="Invalid action.", messageType="info" }] );
redirectTo(route="pin");
}
这些都不起作用。有什么想法吗?
我即将上线,这只是我想要收紧的东西!我宁愿杀死一个带有 404 或重定向的链接,而不是加载默认操作。