301使用Router::Redirect为Cakephp 2重定向

301使用Router::Redirect为Cakephp 2重定向,redirect,cakephp,cakephp-2.0,router,http-status-code-301,Redirect,Cakephp,Cakephp 2.0,Router,Http Status Code 301,所以我一直在尝试让Router::redirect为我正在进行的项目工作。 我需要为几个链接添加一个尾随斜杠。 链接atm显示为“/page/contact”,但我需要的是“/page/contact/” 我尝试了两种方法让它从routes.php文件重定向到301 第一种方法 Router::connect('/page/contact', array('controller' => 'pages', 'action' => 'contact')); Router::redirec

所以我一直在尝试让Router::redirect为我正在进行的项目工作。 我需要为几个链接添加一个尾随斜杠。 链接atm显示为“/page/contact”,但我需要的是“/page/contact/”

我尝试了两种方法让它从routes.php文件重定向到301

第一种方法

Router::connect('/page/contact', array('controller' => 'pages', 'action' => 'contact'));
Router::redirect('/page/contact', array('controller' => 'pages', 'action' => 'contact'), array(`status` => 301));
第二种方法

Router::connect('/page/contact', array('controller' => 'pages', 'action' => 'contact'));
Router::redirect('/page/contact', '/page/contact/', array(`status` => 301));

我见过其他方法,其中.htaccess文件正在被更改,但我的老板明确告诉我不要使用这种方法

我能做什么

编辑

好的,现在我尝试使用\app\webroot.htaccess中的.htaccess文件重定向

#Method 1
RedirectMatch 302 ^/page/contact http://mvwww/page/contact/
此方法显示正确的URL,但在Fire Fox中显示以下错误

页面未正确重定向。 Firefox检测到服务器正在以一种永远无法完成的方式重定向对此地址的请求。
此问题有时可能是由于禁用或拒绝接受Cookie造成的。

好吧,我找到了解决问题的方法。 简单重定向不起作用,所以我使用了如上所述的RedirectMatch,但在末尾添加了“$”以显示URL应该在结尾处没有斜杠

重定向匹配302/页面/联系人$http://mvwww/page/contact/

上面的代码行将“mysite/page/contact”重定向到“mysite/page/contact/”

谢谢大家的帮助。
祝你度过愉快的一天。

问问你的老板有什么理由可以避免最简单、最有效的解决方案?我想他担心这会带来更多的问题,而不是解决方案。他可能是对的。。不