urlManager
中的正确规则是什么才能接受字符串ID?它在actionView上显示错误404。网址:/sampleSite/index.php/transaction/I201303001。
这就是urlManager
的样子:
'urlManager'=>array(
'urlFormat'=>'path',
'showScriptName'=>true,
'rules'=>array(
'<controller:\w+>/<id:\d+>' =>'<controller>/view',
'<controller:\w+>/<action:\w+>/<id:\d+>' =>'<controller>/<action>',
'<controller:\w+>/<action:\w+>/<id:>' =>'<controller>/<action>',
'<controller:\w+>/<action:\w+>' =>'<controller>/<action>',
),
),
提前致谢!
答案 0 :(得分:1)
尝试使用regExp接受任何字符串(包括数字)
'rules'=>array(
'<controller:\w+>/<id:[a-zA-Z0-9-]+>' =>'<controller>/view',
'<controller:\w+>/<action:\w+>/<id:\d+>' =>'<controller>/<action>',
'<controller:\w+>/<action:\w+>/<id:>' =>'<controller>/<action>',
'<controller:\w+>/<action:\w+>' =>'<controller>/<action>',
),
答案 1 :(得分:0)
'rules'=>array(
'<module:\w+>/<controller:\w+>/<id:\w+>' =>'<module>/<controller>/view',
'<module:\w+>/<controller:\w+>/<action:\w+>/<id:\w+>' =>'<module>/<controller>/<action>',
'<module:\w+>/<controller:\w+>/<action:\w+>' =>'<module>/<controller>/<action>',
'<controller:\w+>/<id:\w+>' =>'<module:\w+>/<controller>/view',
'<controller:\w+>/<action:\w+>/<id:\w+>' =>'<controller>/<action>',
'<controller:\w+>/<action:\w+>' =>'<controller>/<action>',
),