改进Route类可选参数的完整匹配检测

This commit is contained in:
thinkphp
2016-06-23 17:49:38 +08:00
parent 38124ccd12
commit ebc862e5fb

View File

@@ -910,7 +910,7 @@ class Route
if ($len1 >= $len2 || strpos($rule, '[')) { if ($len1 >= $len2 || strpos($rule, '[')) {
if ('$' == substr($rule, -1, 1)) { if ('$' == substr($rule, -1, 1)) {
// 完整匹配 // 完整匹配
if (!$merge && $len1 != $len2 && false === strpos($rule, '[')) { if (!$merge && $len1 != $len2 && (false === strpos($rule, '[') || $len1 > $len2 || $len1 < $len2 - substr_count($rule, '['))) {
return false; return false;
} else { } else {
$rule = substr($rule, 0, -1); $rule = substr($rule, 0, -1);