'urlManager'=>array(
'urlFormat'=>'path',
'rules'=>array(
'/*'=>'controllerId/actionId',
'/user/*'=>'controllerId/anotherActionId',
),
)
http://hostname/* 不能实现
需要实现http://twitter.com/用户名 那样的方式! 这个怎么解决! 谢谢
'urlManager'=>array(
'urlFormat'=>'path',
'rules'=>array(
'/*'=>'controllerId/actionId',
'/user/*'=>'controllerId/anotherActionId',
),
)
http://hostname/* 不能实现
需要实现http://twitter.com/用户名 那样的方式! 这个怎么解决! 谢谢
请Qiang帮看一下。
对于第一种情况,你不需要rule啊。这就是缺省controller和action.
也许是我描述有问题吧,我想实现类似 http://twitte.com/用户名 直接传递到某个controller的action,但是我在配置urlManager时,直接利用 ‘/*’ 规则没办法写。我现在的解决办法是,不用urlManager了,直接用mod_rewrite重写了。
'<user:.?>/'=>'controllerID/actionID'
你可以用上面这个rule。这样,用户名将被存在$_GET['user']里。
使用urlManager的好处是双向URL管理。如果你只需要单向解析,用mod_rewrite更好。
谢谢Qiang…是我不懂规则,继续学习。