From 571a7005f24aaac1f43d134c5b561049a43322fb Mon Sep 17 00:00:00 2001 From: thinkphp Date: Wed, 3 Aug 2016 16:24:00 +0800 Subject: [PATCH] =?UTF-8?q?=E6=94=B9=E8=BF=9B=E5=9F=9F=E5=90=8D=E7=BB=91?= =?UTF-8?q?=E5=AE=9A=E5=88=B0=E6=A8=A1=E5=9D=97=E5=90=8E=E7=9A=84URL?= =?UTF-8?q?=E7=94=9F=E6=88=90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- library/think/Url.php | 17 +++++++++++++---- 1 file changed, 13 insertions(+), 4 deletions(-) diff --git a/library/think/Url.php b/library/think/Url.php index 2c2a4517..2d2acb82 100644 --- a/library/think/Url.php +++ b/library/think/Url.php @@ -92,7 +92,7 @@ class Url $url = $match; } else { // 路由不存在 直接解析 - $url = self::parseUrl($url); + $url = self::parseUrl($url, $domain); } } @@ -137,7 +137,7 @@ class Url } // 直接解析URL地址 - protected static function parseUrl($url) + protected static function parseUrl($url, $domain) { $request = Request::instance(); if (0 === strpos($url, '/')) { @@ -151,8 +151,17 @@ class Url $url = substr($url, 1); } else { // 解析到 模块/控制器/操作 - $module = $request->module(); - $module = $module ? $module . '/' : ''; + $module = $request->module(); + $domains = Route::rules('domain'); + if (isset($domains[$domain]['[bind]'][0])) { + $bindModule = $domains[$domain]['[bind]'][0]; + if ($bindModule && !in_array($bindModule[0], ['\\', '@'])) { + $module = ''; + } + } else { + $module = $module ? $module . '/' : ''; + } + $controller = $request->controller(); if ('' == $url) { // 空字符串输出当前的 模块/控制器/操作