function url(){
if(isset($_SERVER['HTTPS'])){
$protocol = ($_SERVER['HTTPS'] && $_SERVER['HTTPS'] != "off") ? "https" : "http";
}
else{
$protocol = 'http';
}
return $protocol . "://" . $_SERVER['HTTP_HOST'];
}
例如,使用上面的函数,如果我使用相同的目录,它可以很好地工作,但如果我创建一个子目录,并在其中工作,它也会给我该子目录的位置。我只想要example.com
,但如果我在文件夹sub
中工作,它会给我example.com/sub
。如果我使用的是主目录,这个函数就能正常工作。是否有$_SERVER['HTTP_HOST']
的替代方案
或者我如何修复我的函数/代码,只获取主url?谢谢。
发布于 2013-06-20 05:01:06
使用SERVER_NAME
。
echo $_SERVER['SERVER_NAME']; //Outputs www.example.com
发布于 2013-06-20 05:00:24
你可以使用PHP的parse_url()
函数
function url($url) {
$result = parse_url($url);
return $result['scheme']."://".$result['host'];
}
发布于 2017-05-11 17:08:31
最短解决方案:
$domain = parse_url('http://google.com', PHP_URL_HOST);
https://stackoverflow.com/questions/17201170
复制相似问题