From c869d431f99e51a399d7e250cee7780d32a173e8 Mon Sep 17 00:00:00 2001 From: thinkphp Date: Sat, 9 Jan 2016 15:16:03 +0800 Subject: [PATCH] =?UTF-8?q?=E5=8F=98=E9=87=8F=E8=A7=84=E5=88=99=E7=9A=84?= =?UTF-8?q?=E8=B7=AF=E7=94=B1=E5=AE=9A=E4=B9=89=E7=AE=80=E5=8C=96=20?= =?UTF-8?q?=E7=9B=B4=E6=8E=A5=E4=BD=BF=E7=94=A8=20'\d+'=20=E6=9B=BF?= =?UTF-8?q?=E4=BB=A3=E5=8E=9F=E6=9D=A5=E7=9A=84=20'/^\d+$/'=20=5F=5Furl=5F?= =?UTF-8?q?=5F=20=E5=AE=8C=E6=95=B4URL=E6=AD=A3=E5=88=99=E8=A7=84=E5=88=99?= =?UTF-8?q?=E5=AE=9A=E4=B9=89=20=E9=BB=98=E8=AE=A4=E4=B8=8D=E4=BC=9A?= =?UTF-8?q?=E5=8A=A0=E4=B8=8A=E5=90=8E=E9=9D=A2=E7=9A=84=20$?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- library/think/Route.php | 4 ++-- library/think/Url.php | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/library/think/Route.php b/library/think/Route.php index 6c41c6b7..4c3b13ae 100644 --- a/library/think/Route.php +++ b/library/think/Route.php @@ -422,7 +422,7 @@ class Route private static function checkRule($rule, $route, $url, $pattern) { // 检查完整规则定义 - if (isset($pattern['__url__']) && !preg_match($pattern['__url__'], $url)) { + if (isset($pattern['__url__']) && !preg_match('/^' . $pattern['__url__'] . '/', $url)) { return false; } // 检测是否设置了参数分隔符 @@ -551,7 +551,7 @@ class Route } else { $name = substr($val, 1); } - if (isset($m1[$key]) && isset($pattern[$name]) && !preg_match($pattern[$name], $m1[$key])) { + if (isset($m1[$key]) && isset($pattern[$name]) && !preg_match('/^' . $pattern[$name] . '$/', $m1[$key])) { // 检查变量规则 return false; } diff --git a/library/think/Url.php b/library/think/Url.php index e630c188..656bfd67 100644 --- a/library/think/Url.php +++ b/library/think/Url.php @@ -201,7 +201,7 @@ class Url } } foreach ($vars as $name => $val) { - if (isset($pattern[$name]) && !preg_match($pattern[$name], $val)) { + if (isset($pattern[$name]) && !preg_match('/^' . $pattern[$name] . '$/', $val)) { // 检查变量规则 return false; }