转:http://www.akii.org/2009-01/php-in-the-difference-between-http_host-and-server_name/
PHP的SERVER保留变量中HTTP_HOST 和 SERVER_NAME经常是一样的,原因是服务器端口是80,
那么HTTP_HOST将省略不显示,而HTTP服务的默认端口就是80,所以大多数情况下,HTTP_HOST都没有显示这个端口号。
而如果使用的是ssl链接,那么端口号将被显示出来。
如果你的程序中有设定端口的功能,则可以考虑使用SERVER_NAME
否则,建议使用HTTP_HOST
PHPBB中有一句很经典的语句:
$server_name = (!empty($_SERVER['HTTP_HOST'])) ? strtolower($_SERVER['HTTP_HOST']) : ((!empty($_SERVER['SERVER_NAME'])) ? $_SERVER['SERVER_NAME'] : getenv('SERVER_NAME'));
所以HTTP_HOST = SERVER_NAME:SERVER_PORT
1 条评论:
php脚本代码示例
动态日历(最简单)
发表评论