2016-11-24 4 views
0

これでサイトのIPPHP - IPの正規化テスト

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

しかし、ウェブサイトのIPは、サイトのドメインにリダイレクトし、PHPでチェックする適切な方法は何ですか取得するためのコード?

EDITED: 私の最初の質問では十分ではなかったようです。質問はseositecheckup.comテストに基づいています。警告の1つがあります:

IP正規化テスト
サイトのIP 198.35.26.96は、お客様のサイトのドメイン名にリダイレクトされません。検索エンジンがIPとドメイン名の両方でサイトを索引付けすると、重複したコンテンツの問題が発生する可能性があります。

だから、私はPHP

+0

おそらく他の人が他のアイデアを持っていますが、私はあなたが応答ヘッダをチェックするCURL機能を使用する必要があると思います。クールなレスポンスヘッダーの高速Google ... http://stackoverflow.com/questions/9183178/ph​​p-curl-retrieving-response-headers-and-body-in-a-single-request –

+0

@DuaneLortie soあなたはIPのヘッダーをチェックするように言っていますか? – codexy

+0

あなたは何をしようとしているのですか? –

答えて

0

で、サイトのIPは、サイトのドメインにリダイレクトする場合、どのように私は自分自身で確認します求めている問題は、一つのこと言いますが、コードは、別の意味...

  • IP-to-hostnameルックアップを探しているなら、そのための別の関数があります:gethostbyaddr()
  • もしあなたが本当に「リダイレクト」を言ったのであれば、HTTPクライアントライブラリcURLのように)http://ipAddress/が30xステータスコードとLocationヘッダーpを返すかどうかを確認しますホスト名ベースのURLに変換する。
+0

私は私の質問を編集しました – codexy

+0

curlではなく、get_headersでこれを行うことはできますか? – 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