在CakePHP中301重定向页面的最佳方法是什么?

Den*_*nis 5 routing cakephp

我在Cakephp中重写了我的网站,并选择保留新的Cakephp结构.我想知道我是否可以在Cakephp中使用路由进行301路由(永久移动).

我想将resources.php,languages.php,clips.php,可能*.php重定向到/ resources /,/ languages /,/ clips.

可以在CakePHP中轻松完成这种301重定向吗?我甚至可以编写一个简单的管理界面来添加301链接,例如从MySQL表中轻松管理重定向.或者通过mod_rewrite手动执行此操作会更好吗?

Hen*_*nri 10

我不确定最好的方法,但我会首先在路由设置路由,如:

Router::connect('/resources.php', array(
    'controller' => 'resources', 
    'action' => 'index'
    )
);
Run Code Online (Sandbox Code Playgroud)

(等等)

在动作函数开始时检查使用了哪条路径,如果使用*.php路由,请执行301重定向:

$this->redirect(array('controller' => 'resources', 'action' => 'index'), 301);
Run Code Online (Sandbox Code Playgroud)

我想还有"更聪明"的方式来实现这个,但这就是这个想法.(使用before_filter等)