[英]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.