【发布时间】:2014-10-28 21:49:02
【问题描述】:
您好,我在 yii 中的 URL 管理遇到问题。
我有一个模型供应商和另一个模型产品。两个控制器中都有一个动作信息。现在我想将我的 URL 创建为
www.example.com/abc.html 而不是 www.example.com/vendor/info/v-name/abc.html www.example.com/xyz.html 而不是 www.example.com/product/info/p-name/xyz.html
v-name 和 p-name 是参数。
我把重写规则写成
'<v-name:\w+>'=>'vendor/info',
'<p-name:\w+>'=>'product/info',
但这似乎不起作用。由于第一条规则也适用于产品案例,最后抛出异常。应该怎么做?
非常感谢您的帮助。
【问题讨论】:
-
您的
createUrl通话效果如何? -
我的 createUrl 看起来完全符合我的要求。像 www.example.com/abc.html 代码是 Yii::app()->createUrl('vendor/info', array('v-name'=> $vendor_info->url_name));
-
尝试添加
'vendor\/<v-name:\w+>' => 'vendor/info','product\/<p-name:\w+>'= > 'product/info', -
我认为使用 .htaccess 规则会比 Yii URL 管理更好
-
通过在参数与规则一起使用之前添加供应商和产品并且不会引发异常但链接更改为 [link](www.example.com/vendor/abc.html) @Justinas跨度>
标签: php yii url-rewriting