diff --git a/library/think/Url.php b/library/think/Url.php index b2765785..ea690e76 100644 --- a/library/think/Url.php +++ b/library/think/Url.php @@ -209,8 +209,13 @@ class Url } } } - } else { - $domain .= strpos($domain, '.') ? '' : strstr($request->host(), '.'); + } elseif (!strpos($domain, '.')) { + $rootDomain = Config::get('url_domain_root'); + if (empty($rootDomain)) { + $host = $request->host(); + $rootDomain = substr_count($host, '.') > 1 ? substr(strstr($host, '.'), 1) : $host; + } + $domain .= '.' . $rootDomain; } return ($request->isSsl() ? 'https://' : 'http://') . $domain; }