编程语言
首页 > 编程语言> > cakephp将url更改为新url

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