サーバー設定について質問です。

現在知り合いのサーバーを借りPHP等でサイトを運営しています。
サイト自体はブログ形式で運営しているのですが、
自分のサイトからほかのサイトへアクセスした場合、普通はリファラの情報が送信され、
相手サイトのアクセスランキングに取得されるはずなのですが、
まったくランキングにカウントされません。
相手サイトというのも自分のサイトですので除外設定しているわけではありません。
リファラURLが0になるはずもなく、何が原因なのかわかりません。
そのアクセスランキングは
http://www.ziyu.net/
ACRWEBというサービスのアクセスランキングです。
ほかのアクセスランキングでは正常にカウントされるのですが、
このアクセスランキングだけまったく取得できていないようです。
思い当たる原因がPHP等スクリプト側ではないと思うので、サーバー上の設定またはphp.iniか何かかと思っています。
当方サーバーの知識がなくサーバー管理者にも問い合わせたのですが、わからないとのことでした。サーバーの設定等でこういうことがあるのでしょうか。

回答の条件
  • 1人5回まで
  • 13歳以上
  • 登録:2014/03/01 17:25:36
  • 終了:2014/03/08 17:30:04

ベストアンサー

id:slowdancing No.2

slowdancing回答回数2ベストアンサー獲得回数12014/03/02 02:54:07

ポイント125pt

リファラーを送るか送らないかはブラウザの次第なのでサーバーは関係ないです。
ブラウザの設定やプラグインによって書き換えたりすることもできますが、
通常であればリファラーは問題なく送信されていると思います。
マニュアルをみると、置換設定でURLをサイト名に置き換えることができるようですが、もしこの置換設定を利用しているのであれば、置換ルールに問題がないか確認してみてください。
その他のサイトからのアクセスはカウントされているということなので、そのあたりかと。

他9件のコメントを見る
id:slowdancing

単純に document.referrer の内容をサーバーに送ってカウントしていますね。
であれば、カウントにあたってはサーバーの設定は関係ないです。

送信内容を一度確認してみてください。
WindowsのGoogleChromeで確認する場合であれば、
「Ctrl+Shift+I」でデベロッパーツールを開き、
「Network」タブをクリック、
「Filter(じょうごのようなアイコン)」をクリック、
「Scripts」を選択し、
「Ctrl+r」でページを再読み込み。
これで、そのドキュメントでリクエストされるスクリプトの内容が表示されます。
http://rranking14.ziyu.net/js.php へ送られている内容がリファラー情報等の情報です。

アクセスランキングが動作しなくなった原因としては、
質問者さんが何も設定を変更しておらず、突然動かなくなったのであれば、
ACRWEB側のサーバーで何かトラブルがあった可能性もあります。
ただ、上記のタグから正常にレスポンスは返されるので、
WebサーバーというよりはDBサーバーの不具合か、
アカウント管理上の不整合か、原因はいくつか考えられます。

何にせよ、まずは質問者さんの設定等に誤りがないか、
動作検証しながら確認してみてください。

アクセスランキングの表示(埋め込み)はどのようにしていますか?
そちらのコードも差し支えなければ教えてください。

2014/03/04 13:20:05
id:numb08

あまり考えられないことですが、ACRWEB側そのものに遮断されているというような状況ですので一度ACRへ問い合わせてみます。埋め込みは先ほどのタグをHTMLやPHP+Smartyに埋め込んでいます。

2014/03/04 15:26:02

その他の回答(3件)

id:snow0214 No.1

snow0214回答回数470ベストアンサー獲得回数1162014/03/01 19:39:57

ポイント125pt

リファラ情報というのは、一般的にブラウザが送る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);
id:numb08

以前さくらサーバーで運営していた時はまったく問題がなかったのでスクリプトの問題ではないと思っています。

2014/03/03 10:39:49
id:snow0214

どんなスクリプトか見てみないと何とも言えませんが、少なくともPHPでは意図的に書いてあげるか、適当なフレームワークを使わない限り、リファラ情報は送りません。

2014/03/03 23:02:42
id:slowdancing No.2

slowdancing回答回数2ベストアンサー獲得回数12014/03/02 02:54:07ここでベストアンサー

ポイント125pt

リファラーを送るか送らないかはブラウザの次第なのでサーバーは関係ないです。
ブラウザの設定やプラグインによって書き換えたりすることもできますが、
通常であればリファラーは問題なく送信されていると思います。
マニュアルをみると、置換設定でURLをサイト名に置き換えることができるようですが、もしこの置換設定を利用しているのであれば、置換ルールに問題がないか確認してみてください。
その他のサイトからのアクセスはカウントされているということなので、そのあたりかと。

他9件のコメントを見る
id:slowdancing

単純に document.referrer の内容をサーバーに送ってカウントしていますね。
であれば、カウントにあたってはサーバーの設定は関係ないです。

送信内容を一度確認してみてください。
WindowsのGoogleChromeで確認する場合であれば、
「Ctrl+Shift+I」でデベロッパーツールを開き、
「Network」タブをクリック、
「Filter(じょうごのようなアイコン)」をクリック、
「Scripts」を選択し、
「Ctrl+r」でページを再読み込み。
これで、そのドキュメントでリクエストされるスクリプトの内容が表示されます。
http://rranking14.ziyu.net/js.php へ送られている内容がリファラー情報等の情報です。

アクセスランキングが動作しなくなった原因としては、
質問者さんが何も設定を変更しておらず、突然動かなくなったのであれば、
ACRWEB側のサーバーで何かトラブルがあった可能性もあります。
ただ、上記のタグから正常にレスポンスは返されるので、
WebサーバーというよりはDBサーバーの不具合か、
アカウント管理上の不整合か、原因はいくつか考えられます。

何にせよ、まずは質問者さんの設定等に誤りがないか、
動作検証しながら確認してみてください。

アクセスランキングの表示(埋め込み)はどのようにしていますか?
そちらのコードも差し支えなければ教えてください。

2014/03/04 13:20:05
id:numb08

あまり考えられないことですが、ACRWEB側そのものに遮断されているというような状況ですので一度ACRへ問い合わせてみます。埋め込みは先ほどのタグをHTMLやPHP+Smartyに埋め込んでいます。

2014/03/04 15:26:02
id:watercooler No.3

井戸端さん回答回数289ベストアンサー獲得回数512014/03/03 06:54:19

ポイント125pt

相手サイトというのも自分のサイト

同一IPなんかで弾かれちゃうのではないかしら?

id:numb08

同一IPでの設定ならアクセス0にはならないはずなんです。当サイトURLだけが除外されたかのように消えました。除外設定していないのですが。

2014/03/03 10:43:42
id:watercooler

以前さくらサーバーで運営していた時はまったく問題がなかった

以前と今のサーバー仕様を見比べてみる必要はあると思うわ。
phpのバージョン違いで挙動が変わるなんてこともあるのよ。
もちろんphp以外にもいろいろとね。

2014/03/04 17:58:33

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません