如何检查访问该页面的URL是否是原始URL或者它是否是CNAME记录。如何检查域名是否是PHP中的CNAME
例如,我有一个网站domain.com
。用户可以设置一个CNAME,他们将www.otherdomain.com
链接到我们的网站domain.com
。
从我们的服务器角度来看,如何检测访问该页面的网址是实际的网址(domain.com
)还是CNAME网址(www.otherdomain.com
)?
如何检查访问该页面的URL是否是原始URL或者它是否是CNAME记录。如何检查域名是否是PHP中的CNAME
例如,我有一个网站domain.com
。用户可以设置一个CNAME,他们将www.otherdomain.com
链接到我们的网站domain.com
。
从我们的服务器角度来看,如何检测访问该页面的网址是实际的网址(domain.com
)还是CNAME网址(www.otherdomain.com
)?
我认为你必须查询DNS才能知道它,因为这些信息通常不会在请求标题中出现。
查看PHP文档中的dns_get_record和checkdnsrr函数。
dns_get_record是正确的答案。我得到它的工作。谢谢。 – Pinkie
您可以使用PHPDNS类库来找出哪种DNS记录是给定的url。
$answer->results[x]->typeid //Textual record type ID (A, MX, CNAME etc)
如果你正在检查网址,你可以在PHP中使用$_SERVER['HTTP_HOST']
。这是来自URL的请求主机(例如,http://otherdomain.com/blah.php将使服务器变为otherdomain.com
)。 $_SERVER['SERVER_NAME']
是httpd.conf中配置的servername。
如果HTTP_HOST!= SERVER_NAME,那么远程用户几乎肯定会使用某种别名来访问该站点。
HTTP_HOST和HTTP_NAME都给我otherdomain.com – Pinkie
这种想法是否需要专用IP? – JBithell