From d65daa2fdc4a8df6ba1fd11003776f9610cfee00 Mon Sep 17 00:00:00 2001 From: thinkphp Date: Thu, 13 Oct 2016 23:17:19 +0800 Subject: [PATCH] =?UTF-8?q?URL=E7=94=9F=E6=88=90=E6=94=AF=E6=8C=81?= =?UTF-8?q?=E5=88=AB=E5=90=8D=E8=B7=AF=E7=94=B1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- library/think/Url.php | 20 ++++++++++++++++++-- 1 file changed, 18 insertions(+), 2 deletions(-) diff --git a/library/think/Url.php b/library/think/Url.php index 77d9f32b..850e5ff5 100644 --- a/library/think/Url.php +++ b/library/think/Url.php @@ -85,13 +85,29 @@ class Url } elseif (!empty($rule) && isset($name)) { throw new \InvalidArgumentException('route name not exists:' . $name); } else { + // 检查别名路由 + $alias = Route::rules('alias'); + if ($alias) { + // 别名路由解析 + foreach ($alias as $key => $val) { + if (is_array($val)) { + $val = $val[0]; + } + if (0 === strpos($url, $val)) { + $url = $key . substr($url, strlen($val)); + break; + } + } + } else { + // 路由标识不存在 直接解析 + $url = self::parseUrl($url, $domain); + } if (isset($info['query'])) { // 解析地址里面参数 合并到vars parse_str($info['query'], $params); $vars = array_merge($params, $vars); } - // 路由标识不存在 直接解析 - $url = self::parseUrl($url, $domain); + } // 检测URL绑定