From 3b67e92026a61d1dcb36d0140eb79b5c7822607d Mon Sep 17 00:00:00 2001 From: thinkphp Date: Sun, 3 Jan 2016 13:15:47 +0800 Subject: [PATCH] =?UTF-8?q?=E8=B7=AF=E7=94=B1=E6=94=AF=E6=8C=81=E7=9B=B4?= =?UTF-8?q?=E6=8E=A5=E8=B7=AF=E7=94=B1=E5=88=B0=E8=A1=8C=E4=B8=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- library/think/route.php | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/library/think/route.php b/library/think/route.php index 48f04574..46fb1b6e 100644 --- a/library/think/route.php +++ b/library/think/route.php @@ -92,6 +92,7 @@ class Route self::alias($rule['__alias__']); unset($rule['__alias__']); } + foreach ($rule as $key => $val) { if (is_numeric($key)) { $key = array_shift($val); @@ -233,7 +234,7 @@ class Route } if (isset(self::$map[$url])) { // URL映射 - return self::parseUrl(self::$map[$url]); + return self::parseUrl(self::$map[$url], $depr); } // 获取当前请求类型的路由规则 @@ -582,6 +583,10 @@ class Route } header("Location: $url", true, (is_array($route) && isset($route[1])) ? $route[1] : 301); exit; + } elseif (0 === strpos($url, '\\')) { + // 路由到行为类 + \think\hook::exec($url, isset($route[1]) ? $route[1] : '', $matches); + exit; } else { // 解析路由地址 $result = self::parseRoute($url); @@ -629,6 +634,10 @@ class Route // 路由重定向跳转 header("Location: $url", true, (is_array($route) && isset($route[1])) ? $route[1] : 301); exit; + } elseif (0 === strpos($url, '\\')) { + // 路由到行为类 + \think\hook::exec($url, isset($route[1]) ? $route[1] : '', $matches); + exit; } else { // 解析路由地址 $result = self::parseRoute($url);