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