cakephp将url更改为新url
作者:互联网
我已经运行了CakePHP程序(版本2.1.3)(在Centos 6.x和Apache上).
现在我想更改网址:http://domain.com/frontend/login
到新的网址:http://domain.com/user-login.html
我改变了routes.php,如下所示:
Router::connect(
'/:slug.html',
array('controller' => 'frontend', 'action' => 'login'),
array(
'pass' => array('slug')
)
);
并在我的login.ctp中添加了以下代码:
<?php
echo $html->link('user login',
array(
'controller' => 'frontend',
'action' => 'login',
'slug' => Inflector::slug('user login')));
?>
它成功了,现在我可以使用新的URL访问:http://domain.com/user-login.html
但我仍然可以访问旧网址:http://domain.com/frontend/login
我只想访问新网址,并删除旧网址.
我该怎么办?请指导我的细节.
谢谢.
解决方法:
ptica的答案很好,但如果你想要的东西不能禁用所有CakePHP的默认路由,那么我会在.htaccess文件中添加重定向规则: –
Redirect 301 /frontend/login /user-login.html
.htaccess是一个更好的放置重定向的地方,而不是路由文件,因为它会更有效率.在路线文件中对此进行评论以供将来参考可能是个好主意;否则你或其他人有一天会看到这个项目,并对重定向的内容感到困惑!
只要你这样做,离开路线就不应该有问题: –
>始终使用Cake的Router / HtmlHelper生成链接,以便使用正确的别名
>在页面上包含一个canonical url,以便搜索引擎使用正确的URL
这样应用程序永远不应该引用/前端/登录.
标签:php,cakephp,cakephp-2-1 来源: https://codeday.me/bug/20190628/1316982.html