php函数url调用 框架 http和https

 $protocol = (!empty($_SERVER['HTTPS']) && $_SERVER['HTTPS'] !== 'off' || $_SERVER['SERVER_PORT'] == 443) ? "https://" : "http://";
$config['base_url'] = $protocol . 'csdn.net/';
 function url($var, $url = '') {
    global $setting;
    // exit($var);
    $removeIndex=config_item('removeIndex');
    $location = $removeIndex . $var . $setting ['seo_suffix'];
    if ((false === strpos ( $var, 'admin_' )) && $setting ['seo_on']) {
        $useragent = $_SERVER ['HTTP_USER_AGENT'];

        if (! strstr ( $useragent, 'MicroMessenger' )) {
            $location = $var . $setting ['seo_suffix'];
        }else{
            $location = 'index.php?' . $var . $setting ['seo_suffix'];
        }

    }

    $location = urlmap ( $location, 2 );
    return base_url () . $location; //程序动态获取的,给question的model使用

}

为什么在https页面调用{url }的时候,url显示的还是http,应该怎么改

$_SERVER['SERVER_PORT'] 是获取你本地服务器的,不是远程的。。

你远程地址支持什么协议不直接写死就行了。。。你判断你本地服务器的干嘛?