URL Manager

Hi this is my URL Rule,

‘rules’ => array(

            '<controller:\w+>/<id:\d+>' => '<controller>/view',


            '<controller:\w+>/<action:\w+>/<id:\d+>/<sub_id:>/<type:>' => '<controller>/<action>',


            '<controller:\w+>/<action:\w+>/<id:\d+>/<sub_id:>' => '<controller>/<action>',


            '<controller:\w+>/<action:\w+>/<id:\d+>/<book_id:>' => '<controller>/<action>',


            '<controller:\w+>/<action:\w+>/<id:\d+>' => '<controller>/<action>',                


            '<controller:\w+>/<action:\w+>' => '<controller>/<action>',


        ),

Link index.php/controller1/action1/1/8 - ‘<controller:\w+>/<action:\w+>/<id:\d+>/<sub_id:>’ => ‘<controller>/<action>’

works fine.

for index.php/controller1/action1/2/10 - ‘<controller:\w+>/<action:\w+>/<id:\d+>/<book_id:>’ => ‘<controller>/<action>’,

not working its showing sub_id instead of book_id.

Thanks,

Praveen J.

Patterns <controller:\w+>/<action:\w+>/<id:\d+>/<sub_id:> and <controller:\w+>/<action:\w+>/<id:\d+>/<book_id:> are equal, what means they match the same strings (index.php/controller1/action1/1/8, index.php/controller1/action1/2/10, index.php/controller1/action1/100/500, etc.). You must disambiguate them, for example by using the following rules:




'<controller:\w+>/<action:\w+>/<id:\d+>/book/<book_id>' => '<controller>/<action>',

'<controller:\w+>/<action:\w+>/<id:\d+>/<sub_id>' => '<controller>/<action>',



Thanks a lot andy… that worked fine… :)