echo 'SERVER_NAME:'.$_SERVER['SERVER_NAME']; //获取当前域名(不含端口号)

echo 'HTTP_HOST:'.$_SERVER['HTTP_HOST'];//获取当前域名(含端口号)

echo 'REQUEST_URI:'.$_SERVER['REQUEST_URI'];//获取当前域名的后缀
看起来第一个和第二个差不多,就是差一个端口号的问题,但是其实不一样。比如nginx的默认主机,里面写“server_name _”;
那么你用ip或者未绑定域名访问它,那么$_SERVER['SERVER_NAME']显示的是是“_”,而$_SERVER['HTTP_HOST']显示的是该ip和该域名。也就是说$_SERVER['SERVER_NAME']显示的是你配置文件里的server name,而$_SERVER['HTTP_HOST']显示的是你浏览器地址栏里面的域名。

标签: none