現在知り合いのサーバーを借りPHP等でサイトを運営しています。
サイト自体はブログ形式で運営しているのですが、
自分のサイトからほかのサイトへアクセスした場合、普通はリファラの情報が送信され、
相手サイトのアクセスランキングに取得されるはずなのですが、
まったくランキングにカウントされません。
相手サイトというのも自分のサイトですので除外設定しているわけではありません。
リファラURLが0になるはずもなく、何が原因なのかわかりません。
そのアクセスランキングは
http://www.ziyu.net/
ACRWEBというサービスのアクセスランキングです。
ほかのアクセスランキングでは正常にカウントされるのですが、
このアクセスランキングだけまったく取得できていないようです。
思い当たる原因がPHP等スクリプト側ではないと思うので、サーバー上の設定またはphp.iniか何かかと思っています。
当方サーバーの知識がなくサーバー管理者にも問い合わせたのですが、わからないとのことでした。サーバーの設定等でこういうことがあるのでしょうか。
リファラーを送るか送らないかはブラウザの次第なのでサーバーは関係ないです。
ブラウザの設定やプラグインによって書き換えたりすることもできますが、
通常であればリファラーは問題なく送信されていると思います。
マニュアルをみると、置換設定でURLをサイト名に置き換えることができるようですが、もしこの置換設定を利用しているのであれば、置換ルールに問題がないか確認してみてください。
その他のサイトからのアクセスはカウントされているということなので、そのあたりかと。
リファラ情報というのは、一般的にブラウザが送るhttpヘッダ情報です。
PHPのどういうスクリプトで他サーバにアクセスしているのか分かりませんが、PHPの標準関数でアクセスする場合にはリファラ情報は送られません。
file_get_contentsでリファラを送るには次のように書いてやります。
$opts = array( 'http' => array( 'method' => "GET", 'header' => "Referer: http://hoge.hoge/\r\n" ) ); $context = stream_context_create($opts); $uri = 'http://hoge2/'; echo file_get_contents($uri, false, $context);