域名CNAME后,服务器如何获取原地址?

首先明确一点,在服务端是不能直接获取到cname之前的域名,因为cname解析是在dns解析步骤完成的,服务器只能获取到请求的host,如果想要获取可通过相关函数完成,例如PHP代码如下:

<?php
var_dump(dns_get_record('www.baidu.com', DNS_A));

结果如下:

array(2) {
  [0]=>
  array(5) {
    ["host"]=>
    string(16) "www.a.shifen.com"
    ["class"]=>
    string(2) "IN"
    ["ttl"]=>
    int(267)
    ["type"]=>
    string(1) "A"
    ["ip"]=>
    string(14) "61.135.169.105"
  }
  [1]=>
  array(5) {
    ["host"]=>
    string(16) "www.a.shifen.com"
    ["class"]=>
    string(2) "IN"
    ["ttl"]=>
    int(267)
    ["type"]=>
    string(1) "A"
    ["ip"]=>
    string(14) "61.135.169.125"
  }
}

为您推荐