2017-06-22 1 views
0

Ich habe folgende Code-Gibt es eine Möglichkeit urlManager bedingt in YII Rahmen auszulösen

'urlManager'=>array(
     'urlFormat'=>'path', 
        //'showScriptName'=>false, 
        //'caseSensitive'=>false, 
     'rules'=>array(
      ''=>'site/home', 
      'logout'=>'site/logout', 
      'login' =>'site/login', 
      'page/about' => 'page/show/id/1',    
      '<cat0:[a-zA-Z\-0-9]+>/<cat1:[a-zA-Z\-0-9]+>/<name:[a-zA-Z\-0-9]+>' => 'product/single', 
      '<cat0:[a-zA-Z\-0-9]+>/<cat1:[a-zA-Z\-0-9]+>' => 'product/products', 
      '<cat0:[a-zA-Z\-0-9 ]+>' => 'product/subcategories', 

     ), 
    ), 

aber wenn ich Pfad jeder Website verwendet Beispiel-

/site/contact/ 

Yü betrachten es als CAT0 und cat1 daher Es leitet mich in Richtung product/products Controller mit $_GET['cat0'] = site und $_GET['cat1'] = contact.

Gibt es einen Ausweg?

+0

als @zakrzu vorgeschlagen entweder ein Präfix für dynamische Regeln oder fügen Sie alle statischen Regeln vor dynamischen Regeln .. als die Muster sind die gleichen –

+0

Okay, ich werde. Danke – akshay

Antwort

2

Das ist falsch. Ihre Regeln sagen:

any_word/any_word zu product/products

dh site/contact gehen gehen zu product/products

diese So versuchen: products/<cat0:[a-zA-Z\-0-9]+>/<cat1:[a-zA-Z\-0-9]+>' => 'product/products',

Jetzt products/cat1/cat2 zu /product/products

gehen Weitere lesen Sie Abschnitt: Adding Rules Dynamically

+0

Danke. Es hilft mir viel – akshay

Verwandte Themen