多域名指向同一个php服务器,用nginx做代理,获取SERVER_NAME都是第一个域名,这就尴尬了,至今不明白咋回事,最后用HTTP_HOST解决都,这个暂时倒是准确。
HTTP_HOST:从客户端请求获取的HTTP请求标头中获取
例:
1 2 |
|
HTTP_SERVER:根据主机配置从服务器名称获取。
例:
1 2 |
|
HTTP_HOST | SERVER_NAME |
它从客户端检索请求标头。 | 它检索服务器配置。 |
它不可靠,因为它的值可以修改。 | 它更可靠,因为它的价值来自服务器配置。 |
语法:$ _SERVER ['HTTP_HOST'] | 语法:$ _SERVER ['SERVER_NAME'] |
它提供了满足请求的主机的域名。 | 它提供主机配置中指定的服务器名称。 |
示例:localhost:8080 | 示例:www.google.com |
它基于客户的要求。 | 它基于Web服务器的配置。 |
因为它与请求直接相关,所以它在大多数应用程序中使用。 | 它根本不提供有关请求的任何信息。 |
它取自目标主机。 | 它取自服务器配置。 |
它是客户控制的价值。 | 它是服务器控制的值 |
http://www.php.cn HTTP_HOST:www.php.cn | http://www.php.cn |
HTTP_HOST示例:
1 2 3 |
|
输出:
1 |
|
HTTP_SERVER的示例:
1 2 3 |
|
输出:
1 |
|
注意:对于localhost,HOST和SERVER名称都相同。