2016-11-24 72 views
0

这是获取网站的IPPHP - IP规范化测试

$ip = gethostbyname(parse_url('http://www.wikipedia.com', PHP_URL_HOST)); 
print_r($ip); 

但是,什么是检查用PHP做网站的IP重定向到网站的域名的正确方法的代码?

编辑: 看来我在第一个问题上还不够清楚。这个问题是基于seositecheckup.com测试。其中一个警告说:

IP规范化测试
您的网站的IP 198.35.26.96不会重定向到您网站的域名。如果搜索引擎根据其IP和域名为您的网站建立索引,这可能会导致重复的内容问题。

于是,我问我怎么会自己检查,如果该网站的IP重定向到网站的域名,在PHP

+0

可能其他人将有其他的想法,但我认为你需要使用卷曲功能检查响应头。快速谷歌“卷曲反应头”和... http://stackoverflow.com/questions/9183178/ph​​p-curl-retrieving-response-headers-and-body-in-a-single-request –

+0

@DuaneLortie所以你是说要检查IP的标题或? – codexy

+0

我不太确定你想要做什么 –

回答

0

的问题说的是一套,但代码还隐含着另外...

  • 如果你正在寻找一个IP到主机名的查询,那么还有另外一个功能:gethostbyaddr()
  • 如果你说的时候确实的意思是“重定向”,你将不得不使用一个HTTP客户端库(比如cURL)查看http://ipAddress/是否返回30x状态码和Location标题p选择基于主机名的URL。
+0

我编辑我的问题要更清楚 – codexy

+0

我可以用get_headers而不是curl来做到吗? – codexy

+0

是的,这可能是最简单的方法。 – Narf

0

你正在做的是反向IP查找。

gethostbyname做转发IP地址,gethostbyaddr做反向IP查找。

的代码示例:

$ip = gethostbyname(parse_url('http://www.wikipedia.com', PHP_URL_HOST)); 
print_r($ip); 
$domain = gethostbyaddr($ip); 
print_r($domain); 
+0

我编辑我的问题更清晰 – codexy

+0

这将输出:text-lb.esams.wikimedia.org – codexy