0

urlManager文字列 ID を受け入れるための正しいルールは何ですか? actionView でエラー 404 が表示されます。URL: /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>',

        ),
    ),

前もって感謝します!

4

2 に答える 2

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>',

    ),
于 2013-03-14T17:43:50.280 に答える
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>',

        ),
于 2013-03-14T05:53:13.287 に答える