diff --git a/library/think/Route.php b/library/think/Route.php index 57e2c4d0..24f6fb08 100644 --- a/library/think/Route.php +++ b/library/think/Route.php @@ -340,7 +340,6 @@ class Route $name = $currentGroup . '/' . ltrim($name, '/'); } if ($routes instanceof \Closure) { - $currentOption = self::getGroup('option'); $currentPattern = self::getGroup('pattern'); self::setGroup($name, $option, $pattern); @@ -350,7 +349,6 @@ class Route self::$rules['*'][$name]['var'] = self::parseVar($name); self::$rules['*'][$name]['option'] = $option; self::$rules['*'][$name]['pattern'] = $pattern; - } else { foreach ($routes as $key => $val) { if (is_numeric($key)) { @@ -383,6 +381,9 @@ class Route $currentGroup = self::getGroup('name'); $currentOption = self::getGroup('option'); $currentPattern = self::getGroup('pattern'); + if ($currentGroup) { + $name = $currentGroup . '/' . ltrim($name, '/'); + } self::setGroup($name, $option, $pattern); call_user_func_array($routes, []); self::setGroup($currentGroup, $currentOption, $currentPattern);