Yii mod rewrite with CUrlManagement


Yii mod rewrite with CUrlManagement

是否有可能得到以下示例:

  • example.com/Itemname 而不是example.com/index.php?r=item/index&name=Itemname

所以我必须动态设置 CUrlManagement 规则,但是如何设置呢?我的第一个猜测是:尝试在控制器或模型中设置 UrlManagement 规则,但我发现了一个线程,上面写着,在 yii 1.x 中这是不可能的

另一种方法是,利用 slug 行为 - 但到目前为止我还没有找到一个好的扩展。

你可以通过扩展CBaseUrlRule来做到这一点,参见汽车的例子;-)

自定义网址规则

不幸的是,您无法从控制器动态设置 url 路由,它们必须在运行时在配置中设置。尽管您可以扩展 CBaseUrlRule 以从外部源(如数据库)加载规则,而不是对它们进行硬编码。

如果您想了解更多信息,我建议您阅读最终指南 http://www.yiiframework.com/doc/guide