sharehua
(8080268)
1
1 'urlSuffix'=>'.html',
'appendParams'=>false,
'showScriptName'=>false,
'urlFormat'=>'path',
'rules'=>array(
),
没有写规则的情况下,'urlSuffix'=>'.html'起作用吗?
2 我想让module controller action用_连起来,有没有通配的规则匹配?例如portal/default/index 变成portal_default_index
sharehua
(8080268)
2
3
发现 'urlFormat'=>'path',在'rules'内无效,必须写在rules外。这样的话别的路径都影响了。
sharehua
(8080268)
3
4 ?r=portal/default/list&categoryId=1&page=2 伪装为 list_1_2.html
?r=portal/default/list&categoryId=1 伪装为 list_1.html
怎样让两个都可以伪装?我设置了只有一个起作用
'list_<categoryId:\d+>'=>array('portal/default/list', 'urlSuffix'=>'.html'),
'list_<categoryId:\d+>_<page:\d+>'=>array('portal/default/list', 'urlSuffix'=>'.html'),
qiang
(Qiang Xue)
4
-
会起作用。你试试就知道了。如果你不喜欢后缀,把它设成空就可以了。
-
'<module:[^/]+><controller:[^/]+><action:[^/_]+>' => '<module>/<controller>/<action>'
3. urlFormat是CUrlManager的属性,所以必须写在rules外面。的确,这是影响所有路径的。
- 你的rules是怎样的?
sharehua
(8080268)
6
route "<module>/<controller>/<action>" 中的 URL 格式 "<module:[^/]+><controller:[^/]+><action:[^/_]+>" 不是有效的 regular expression.
qiang
(Qiang Xue)
7
对了,需要把[^/]+改成[^/]+(这个主要使用来匹配每一段的,你可以考虑用其它正规表达式)。
- 把两条规则互换一下次序。