diff --git a/library/think/response/Redirect.php b/library/think/response/Redirect.php index 059b8dd7..82a5fe32 100644 --- a/library/think/response/Redirect.php +++ b/library/think/response/Redirect.php @@ -67,7 +67,7 @@ class Redirect extends Response */ public function getTargetUrl() { - return strpos($this->data, '://') ? $this->data : Url::build($this->data, $this->params); + return (strpos($this->data, '://') || 0 === strpos($this->data, '/')) ? $this->data : Url::build($this->data, $this->params); } public function params($params = []) diff --git a/library/traits/controller/Jump.php b/library/traits/controller/Jump.php index f0a92bc3..0fad996d 100644 --- a/library/traits/controller/Jump.php +++ b/library/traits/controller/Jump.php @@ -44,7 +44,7 @@ trait Jump if (is_null($url) && isset($_SERVER["HTTP_REFERER"])) { $url = $_SERVER["HTTP_REFERER"]; } elseif ('' !== $url) { - $url = strpos($url, '://') ? $url : Url::build($url); + $url = (strpos($url, '://') || 0 === strpos($url, '/')) ? $url : Url::build($url); } $result = [ 'code' => $code, @@ -83,7 +83,7 @@ trait Jump if (is_null($url)) { $url = 'javascript:history.back(-1);'; } elseif ('' !== $url) { - $url = strpos($url, '://') ? $url : Url::build($url); + $url = (strpos($url, '://') || 0 === strpos($url, '/')) ? $url : Url::build($url); } $result = [ 'code' => $code,