• Модуль: main
  • Путь к файлу: ~/bitrix/modules/main/lib/engine/urlmanager.php
  • Класс: BitrixMainEngineUrlManager
  • Вызов: UrlManager::getHostUrl
public function getHostUrl(): string
{
	$request = Context::getCurrent()->getRequest();

	$protocol = $request->isHttps() ? 'https' : 'http';
	$port = (int)$request->getServerPort();

	if (defined('SITE_SERVER_NAME') && SITE_SERVER_NAME)
	{
		$host = SITE_SERVER_NAME;
	}
	else
	{
		$host = Option::get('main', 'server_name', $request->getHttpHost()) ? : $request->getHttpHost();
	}

	$portSuffix = '';
	if ($port && !in_array($port, [443, 80], true))
	{
		$portSuffix = ':' . $port;
	}
	$parsedUri = new Uri($protocol . '://' . $host . $portSuffix);

	return rtrim($parsedUri->getLocator(), '/');
}