From b06c6ea4302dccd2e4cd9f20c197c21e8a45f91e Mon Sep 17 00:00:00 2001 From: thinkphp Date: Fri, 30 Jun 2017 11:19:43 +0800 Subject: [PATCH] =?UTF-8?q?=E6=94=B9=E8=BF=9B=E8=B7=AF=E7=94=B1=E5=8F=98?= =?UTF-8?q?=E9=87=8F=E8=A7=84=E5=88=99=E7=9A=84=E5=AE=9A=E4=B9=89=20?= =?UTF-8?q?=E6=94=AF=E6=8C=81=E5=AE=8C=E6=95=B4=E6=AD=A3=E5=88=99=E9=99=90?= =?UTF-8?q?=E5=AE=9A?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- library/think/Route.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/library/think/Route.php b/library/think/Route.php index 80f82f41..59b15432 100644 --- a/library/think/Route.php +++ b/library/think/Route.php @@ -1159,7 +1159,7 @@ class Route private static function checkRule($rule, $route, $url, $pattern, $option, $depr) { // 检查完整规则定义 - if (isset($pattern['__url__']) && !preg_match('/^' . $pattern['__url__'] . '/', str_replace('|', $depr, $url))) { + if (isset($pattern['__url__']) && !preg_match(0 === strpos($pattern['__url__'], '/') ? $pattern['__url__'] : '/^' . $pattern['__url__'] . '/', str_replace('|', $depr, $url))) { return false; } // 检查路由的参数分隔符 @@ -1349,7 +1349,7 @@ class Route if (false === $result) { return false; } - } elseif (!preg_match('/^' . $pattern[$name] . '$/', $m1[$key])) { + } elseif (!preg_match(0 === strpos($pattern[$name], '/') ? $pattern[$name] : '/^' . $pattern[$name] . '$/', $m1[$key])) { return false; } }