加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

cakephp将url更改为新url

发布时间:2020-12-13 16:56:40 所属栏目:PHP教程 来源:网络整理
导读:我已经运行了Cake PHP程序(版本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'
我已经运行了Cake PHP程序(版本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

这样应用程序永远不应该引用/前端/登录.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读