Yii 如何隐藏URL上的操作名称并替换为虚构的名称?

Yii 如何隐藏URL上的操作名称并替换为虚构的名称?,yii,Yii,我对红色有着丰富的经验 http://something.dev/experience/listByColor/Red 这很有效 当用户执行以下操作时,我希望同样的操作: actionListByColor($color); 我试过这些规则: http://something.dev/experience/color/Red 但我总是得到: 系统找不到请求的操作“颜色” 我怎样才能做到这一点 似乎urlFormat不适合这种情况,因为它似乎希望在=>的左侧有一个有效路径,而在这种情况下,我

我对红色有着丰富的经验

http://something.dev/experience/listByColor/Red
这很有效

当用户执行以下操作时,我希望同样的操作:

actionListByColor($color);
我试过这些规则:

http://something.dev/experience/color/Red
但我总是得到:

系统找不到请求的操作“颜色”

我怎样才能做到这一点

似乎urlFormat不适合这种情况,因为它似乎希望在
=>
的左侧有一个有效路径,而在这种情况下,我们在那里没有任何有效路径


没有其他办法吗?

您忘记了参数/id部分。使用以下适当的规则:

'experience/color/'=>'experience/listByColor/'
'experience/color/'=>'experience/listByColor/'
“体验/color/”=>“体验/listByColor/”
“体验/color/”=>“体验/listByColor/”

这是个不错的选择。第一条规则做到了。要不要写几行关于最后一行的?这意味着什么?谢谢
'experience/color/'=>'experience/listByColor/'
'experience/color/<param:\w+>'=>'experience/listByColor/'
'experience/color/<id:\d+>'=>'experience/listByColor/'
'experience/color/<color>'=>'experience/listByColor/'