PHP获取url根地址

判断协议和读取host信息。

<?php

/**
 * 判断当前协议是否为HTTPS
 */
function is_https() {
    if ( !empty($_SERVER['HTTPS']) && strtolower($_SERVER['HTTPS']) !== 'off') {
        return true;
    } elseif ( isset($_SERVER['HTTP_X_FORWARDED_PROTO']) && $_SERVER['HTTP_X_FORWARDED_PROTO'] === 'https' ) {
        return true;
    } elseif ( !empty($_SERVER['HTTP_FRONT_END_HTTPS']) && strtolower($_SERVER['HTTP_FRONT_END_HTTPS']) !== 'off') {
        return true;
    }
    return false;
}

/**
 * 获取url根地址
 */
function get_root_url() {
	$header = is_https() ? 'https://' : 'http://';
	return $header.$_SERVER['HTTP_HOST'];
}

echo get_root_url();

形如:http://xxxx.com/test/test.php

得到:http://xxxx.com