Yii带参数路由


yii routing with parrameters

我已经在上面花了很多时间了,我开始放弃了,所以…请帮我理解一下

我试图使我的url很短,它工作良好的url没有参数,但那些有参数不工作。

在我的路由设置中我有:

'rules'=>array( 
        'kontakt' => 'site/contact',
        'faq' => 'site/page/view/faq',
...

然后,当我在zii.widgets.CMenu(或在html::link())链接作为数组的第一条规则,那么它是可以的,但第二不是。更准确地说

这是

array('label'=>'Kontakt', 'url'=>array('/site/contact')),

生成http://mysite.com/kontakt URL,这是我所期望的。

但这不起作用

array('label'=>'FAQ', 'url'=>array('/site/page', 'view'=>'faq')),

生成mysite.com/site/page/view/faq,我希望它生成简单的mysite.com/faq。

我读了很多,尝试了很多变化,但它总是失败…有什么建议吗?

你的规则应该是这样的:

    '<view>' => 'site/page',

这意味着如果你生成一个url到站点/页面有一个视图参数,那么它就会去查看。如果没有视图参数,该规则将被跳过。