diff --git a/library/think/Route.php b/library/think/Route.php index 125d024b..2479cfd7 100644 --- a/library/think/Route.php +++ b/library/think/Route.php @@ -469,11 +469,15 @@ class Route if (!empty($val['routes'])) { // 分组路由 if ($pos = strpos($rule, ':')) { - $str = substr($rule, 0, $pos); + $str = substr($rule, 0, $pos); + $key1 = substr($rule, $pos) . '/'; } elseif ($pos = strpos($rule, '<')) { - $str = substr($rule, 0, $pos); + $str = substr($rule, 0, $pos); + $key1 = substr($rule, $pos) . '/'; } else { - $str = $rule; + $pos = strlen($rule) + 1; + $key1 = ''; + $str = $rule; } if (0 !== strpos($url, $str)) { continue; @@ -483,7 +487,9 @@ class Route if (is_numeric($key)) { $key = array_shift($route); } - $url1 = substr($url, strlen($rule) + 1); + $url1 = substr($url, $pos); + $key = $key1 . $key; + // 检查规则路由 if (is_array($route)) { $option1 = $route[1];