繁体   English   中英

如何从CakePHP的URL中删除控制器和动作名称?

[英]How to remove controller and action name from URL in CakePHP?

如何编写有效的router:connect以获得SEO友好链接?

在我的网站上,我有文章和类别。 在右侧栏中,文章的类别与下面的链接列出。

<?php echo $this->Html->link(ucwords($data['Category']['name']),array('controller'=>'Articles','action'=>'displayArticles','cat'=>$data['Category']['name'])) ?>

这给了我-http: //example.com/Articles/displayArticles/category-name之类的链接,现在我希望该链接为http://example.com/category-name 因此,为此,我尝试了以下代码,但无法正常工作。

Router::connect(
    '/:query/*', array('controller' => 'Articles', 'action' => 'displayArticles'), array(
        'params' => array('query', 'cat'),
        'named' => array(
            'query', 'cat'
        )
    )
);

因此,请有人告诉我,如何仅在URL中实现类别名称(参数)。

提前致谢!

Router::connect(
    '/:query',
   array('controller' => 'Articles', 'action' => 'displayArticles',1)
    array('query' => '[a-zA-Z]+')
);

这里的id是带有正则表达式的数字。 请看这个

您还必须在路由器中提供参数计数。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM