$_SERVER["SERVER_NAME"]获取不到主机名原因分析
究其原因是$_SERVER[“SERVER_NAME”] 返回的值是由 Nginx 的 fastcgi_param 中 SERVER_NAME 提供的,而默认的配置为:fastcgi_param SERVER_NAME $server_name;Nginx中 $server_name 变量就是上面设置的域名,只会返回第一个!
解决方法
将fastcgi_param SERVER_NAME $server_name修改为fastcgi_param SERVER_NAME $host;
另外还需要在server_name配置后面加一行:
server_name_in_redirect off;
意思是 让 nginx 在处理自己内部重定向时不默认使用 server_name 设置中的第一个域名!
$_SERVER['SERVER_NAME']; 如果有域名返回域名,没有域名返回IP地址。
以上就是青锋建站给大家分享的多域名环境$_SERVER["SERVER_NAME"]无法获取主机名的原因以及解决办法。青锋建站,提供专业的高品质网站制作服务,包括网站建设服务,SEO,网络营销,PHP开发,网站建设知名品牌,全国接单,专业做优化型网站,为企业构建营销平台。
转载请注明来源网址:青锋建站-http://www.sjzphp.com/webdis/server_name_1438.html