ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

cakephp将url更改为新url

2019-06-28 15:17:39  阅读:212  来源: 互联网

标签:php cakephp cakephp-2-1


我已经运行了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

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有