[使用Router :: Redirect进行Cakephp 2的301重定向

问题描述 投票:0回答:1

因此,我一直在尝试使Router :: redirect用于我正在从事的项目。我需要为几个链接添加一个斜杠。链接atm显示为“ / page / contact”,但我需要的是“ / page / contact /”。

我已经尝试了两种方法将其从route.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引起的。

redirect cakephp cakephp-2.0 router http-status-code-301
1个回答
0
投票

好,所以我找到了解决问题的方法。简单重定向无法正常工作,因此我如上所述使用了RedirectMatch,但在末尾添加了“ $”以表明URL应该以不带斜杠的结尾结束。

RedirectMatch 302 /page/contact$ http://mvwww/page/contact/

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

谢谢大家的帮助。祝你有美好的一天。

© www.soinside.com 2019 - 2024. All rights reserved.