0

我有一个控制器,名为:SomeLongUnfriendlyName
在路由器中,我给了它一个别名:CoolName
现在,每当有人调用 时/CoolName/theAction/SomeLongUnfriendlyName/theAction都会执行。到目前为止,一切都很好。
我的问题是我想拒绝使用原始SomeLongUnfriendlyName名称。

怎么做到呢?


流行流行

4

2 回答 2

1

您应该能够将其添加为重定向路由(如果您使用的是 Cake 2.x)。除了根据我对路由系统的了解之外,我从未尝试过任何事情,如果你把它放在最后并且没有其他路由捕获,它将正确重定向到别名控制器。

Router::redirect(
  '/SomeLongUnfriendlyName/*', 
  array('controller' => 'CoolName'), 
  array('status' => 302)
);

在这里,我们将您不想使用的名称重定向到新名称。

于 2012-06-05T20:21:51.067 回答
1

您可以使用 App 控制器的 beforeFilter 方法来检查给定的 URI 是否具有相应的路由。如果是这样,只需向路由类发出重定向。确保检查浏览器上显示的 URL 以避免无限重定向。

于 2012-06-05T20:16:57.553 回答