你能否正确使用urlManager规则和创建Url功能?

时间:2012-07-16 04:12:04

标签: php url url-rewriting yii

我有一系列简化我的网络应用程序的 urlManager 规则。例如,Yii附带的vanilla应用程序安装程序创建了“页面”模型,我将页面从 / site / page / view / about 重定向到 / about

这很好用,但我不确定Yii是否能够阅读我的规则以确定要创建的最佳URL。目前,如果我使用以下代码, createUrl 将返回标准网址( / site / page / view / about ): createUrl('/site/page', array('view'=>'about'))

或者,使用createUrl('/about')会正确链接到首选网址,但这似乎不像第一个示例那样好。此外,在 CMenu 功能中使用此功能不会将此链接关联为当前活动链接。

是否有更好的做法可以遵循此要求? createUrl 的替代使用似乎过于“硬编码”,并且如上所述,与系统逻辑上不起作用(确定活动页面等)。

2 个答案:

答案 0 :(得分:1)

使用这种方式创建网址:/ site / page / view / about

Yii::app()->createUrl('site/page', array('view'=>'about'));

这里有更好的提及:Yii Url Mmanagement

答案 1 :(得分:1)

您的规则'<page:\w+>' => 'site/page/view/<page>'不正确。使用此(假设您使用默认的gii生成的代码)作为第一个规则

'<view:\w+>'=>'site/page'