From 0955eb18e1cdf5dd3bda81d596cedd0b87b190ff Mon Sep 17 00:00:00 2001 From: thinkphp Date: Fri, 17 Jun 2016 12:22:47 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=AD=A3Url=E7=B1=BB?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- library/think/Route.php | 2 +- library/think/Url.php | 5 +++-- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/library/think/Route.php b/library/think/Route.php index 1b6d2052..aa89ba61 100644 --- a/library/think/Route.php +++ b/library/think/Route.php @@ -515,7 +515,7 @@ class Route if ($method) { return self::$rules[$method]; } else { - return self::$rules['*'] + self::$rules['GET'] + self::$rules['POST'] + self::$rules['PUT'] + self::$rules['DELETE']; + return array_merge_recursive(self::$rules['*'], self::$rules['GET'], self::$rules['POST'], self::$rules['PUT'], self::$rules['DELETE']); } } diff --git a/library/think/Url.php b/library/think/Url.php index a0d774b6..a0887e13 100644 --- a/library/think/Url.php +++ b/library/think/Url.php @@ -141,7 +141,7 @@ class Url } else { $path = explode('/', $url); $action = array_pop($path); - $controller = empty($path) ? $controller : (Config::get('url_controller_convert') ? Loader::parseName(array_pop($path)) : array_pop($path)); + $controller = empty($path) ? $controller : (Config::get('url_convert') ? Loader::parseName(array_pop($path)) : array_pop($path)); $module = empty($path) ? $module : array_pop($path) . '/'; $url = $module . $controller . '/' . $action; } @@ -242,6 +242,7 @@ class Url } // 检查变量匹配 $array = $vars; + $match = false; if ($pattern && self::pattern($pattern, $vars)) { foreach ($pattern as $key => $val) { if (isset($vars[$key])) { @@ -256,7 +257,7 @@ class Url if (empty($pattern) && empty($param)) { // 没有任何变量 return $url; - } elseif (!empty($match) || (!empty($param) && array_intersect_assoc($param, $array) == $param)) { + } elseif ($match && (empty($param) || array_intersect_assoc($param, $array) == $param)) { // 存在变量定义 $vars = array_diff_key($array, $param); return $url;