我如何编写工作路由器:连接到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中实现类别名称(参数)。
提前致谢!
答案 0 :(得分:1)
Router::connect(
'/:query',
array('controller' => 'Articles', 'action' => 'displayArticles',1)
array('query' => '[a-zA-Z]+')
);
这里的id是带regex的数字。 请参阅this
您还必须在路由器中提供参数计数。