如何检查访问该网页的网址是原始网址还是CNAME记录。
例如,我有一个网站domain.com
。用户可以设置CNAME,将www.otherdomain.com
链接到我们的网站domain.com
。
从我们的服务器角度来看,如何检测访问该网页的网址是实际网址(domain.com
)还是CNAME网址(www.otherdomain.com
)?
答案 0 :(得分:9)
我认为您必须查询DNS以了解它,因为此信息通常不会出现在请求标头中。
查看PHP文档中的dns_get_record和checkdnsrr函数。
答案 1 :(得分:2)
您可以使用PHPDNS类库来查找给定网址的DNS记录类型。
$answer->results[x]->typeid //Textual record type ID (A, MX, CNAME etc)
答案 2 :(得分:1)
如果您要检查网址,可以在PHP中使用$_SERVER['HTTP_HOST']
。这是来自URL的请求主机(例如http://otherdomain.com/blah.php将使服务器变量为otherdomain.com
)。 $_SERVER['SERVER_NAME']
是httpd.conf中配置的服务器名称。
如果HTTP_HOST!= SERVER_NAME,远程用户几乎肯定会使用某种别名来访问该网站。