84669 人學習
152542 人學習
20005 人學習
5487 人學習
7821 人學習
359900 人學習
3350 人學習
180660 人學習
48569 人學習
18603 人學習
40936 人學習
1549 人學習
1183 人學習
32909 人學習
主域名比如是:ol.com本来正常来说
B域名访问 --> $_SERVER["SERVER_NAME"] --> B.ol.com A域名访问 --> $_SERVER["SERVER_NAME"] --> A.ol.com
但是今天发现的一个很奇怪的问题,我有一个主域名,两个子域名,都指向的同一个服务器。然后我通过B域名访问,又通过php的$_SERVER["SERVER_NAME"] 打印出来的确是A域名的地址。
下面是nginx的配置
小伙看你根骨奇佳,潜力无限,来学PHP伐。
$_SERVER['SERVER_NAME'] 获取的是web服务器中配置的域名$_SERVER['HTTP_HOST'] 获取的是,用户访问时的域名
$_SERVER['SERVER_NAME']
$_SERVER['HTTP_HOST']
当配置中有多个域名是,请使用 $_SERVER['HTTP_HOST'] 获得当前使用的域名。
正确的是通过 $_SERVER['HTTP_HOST'] 来获取host
server_name 获取的是nginx里server_name配置的项,有可能是正则表达式或多个域名,如:
~^(?<site>.+)\.uedsky\.com$
其实你应该用的是$_SERVER["HTTP_HOST"],而$_SERVER["SERVER_NAME"]是在
server_name中获取的。而指定了多个域名作为server_name,Nginx总会以第一个遇到的为准。
$_SERVER['SERVER_NAME']
获取的是web服务器中配置的域名$_SERVER['HTTP_HOST']
获取的是,用户访问时的域名当配置中有多个域名是,请使用
$_SERVER['HTTP_HOST']
获得当前使用的域名。正确的是通过 $_SERVER['HTTP_HOST'] 来获取host
server_name 获取的是nginx里server_name配置的项,有可能是正则表达式或多个域名,如:
其实你应该用的是$_SERVER["HTTP_HOST"],而$_SERVER["SERVER_NAME"]是在
server_name中获取的。而指定了多个域名作为server_name,Nginx总会以第一个遇到的为准。