我有一个控制器,名为:SomeLongUnfriendlyName
在路由器中,我给它一个别名:CoolName
现在,每当有人呼叫/CoolName/theAction
时,/SomeLongUnfriendlyName/theAction
就会被执行。目前为止,一切都好。
我的问题是我想拒绝使用原始SomeLongUnfriendlyName
名称。
怎么能做到呢?
流行
您应该能够将其添加为重定向路由(如果您使用的是 Cake 2.x)。我从未尝试过任何东西,但根据我对路由系统的了解,如果您将其放在最后并且其他路由都没有捕获,它将正确重定向到别名控制器。
Router::redirect(
'/SomeLongUnfriendlyName/*',
array('controller' => 'CoolName'),
array('status' => 302)
);
在这里,我们将您不想使用的名称重定向到新名称。
可以使用应用控制器的 beforeFilter 方法来检查给定的 URI 是否具有相应的路由。如果是这样,只需向路由类发出重定向即可。确保检查浏览器上显示的 URL 以避免无限重定向。