Quellcode durchsuchen

Fixed:*:* rewrite问题

Zhu Jinhui vor 7 Jahren
Ursprung
Commit
e703ba2676
1 geänderte Dateien mit 15 neuen und 0 gelöschten Zeilen
  1. 15 0
      Qii/Router/Parse/Normal.php

+ 15 - 0
Qii/Router/Parse/Normal.php

@@ -90,6 +90,21 @@ class Normal
         } else {
             $match['controller'] = isset($dirInfo[0]) ? $dirInfo[0] : 'index';
             $match['action'] = isset($dirInfo[1]) ? $dirInfo[1] : 'index';
+            //匹配配置文件中以 * 开头的规则
+            foreach($this->config as $key => $config)
+            {
+                if(stristr($key, '*:'))
+                {
+                    list($sourceController, $sourceAction) = explode(':', $key);
+                    list($destController, $destAction) = explode(":", $config);
+                    $match['controller'] = $destController;
+                    if($sourceAction == '*') {
+                        $map['action'] = $destAction;
+                    }else if($map['action'] == $sourceAction){
+                        $map['action'] = $destAction;
+                    }
+                }
+            }
         }
         return $match;
     }