• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:アクセス解析でのHTTP_REFERERについて)

アクセス解析でのHTTP_REFERERについて

このQ&Aのポイント
  • アクセス解析のCGIを作成する際にHTTP_REFERERについての課題が発生しています。
  • HTTP_REFERERが空白になってしまう原因について、詳細な解説を求めています。
  • Tripodの無料HPを使用している状況で、HTTP_REFERERの保存に特別な処理が必要なのかを確認したいです。

質問者が選んだベストアンサー

  • ベストアンサー
  • HUTABA
  • ベストアンサー率27% (436/1611)
回答No.2

#1です。 JavaScriptから起動されているんですか。 それなら、いっそRefererもJavaScriptで取得してはどうでしょう? CGIからの取得では、「自分を呼び出したのはJavaScript」という事になるので、うまく取得できないと思います。 私も以前JavaScriptから呼び出すアクセス解析を作成しましたが、JavaScriptで取得するようにしていました。 document.referrer で取得できますよ。

Mohican
質問者

お礼

>document.referrer >で取得できますよ。 ご丁寧に教えていただいて本当にありがとうございました。おかげ様で動作しました。

その他の回答 (1)

  • HUTABA
  • ベストアンサー率27% (436/1611)
回答No.1

No $ENV{'HTTP_REFERER'}で(必ずしも正しくはありませんが)リンク元が取得できます。 Mohicanさんはご自身で作られたアクセス解析をテストする時に、きちんとREFERERが取れるようにアクセスされていますか? CGIスクリプトに直接アクセスしたり、ログを収集するタグを埋め込んだページに直接アクセスしていたりしては、「リンク元」なんて物は存在しないわけですから、そういう場合は取得できないと思います。

Mohican
質問者

お礼

早速の御回答本当にありがとうございます。 ローカルでのテストをした際は、きちんとリンク元がログに保存されます。なのでREFERERが空ということはないとは思います。確認するためローカルでしっかりとリンク元が表示される簡単なものをそのままサーバ上で再現してみました。 ローカルでテストした状況は a.html から b.html にリンク b.html で javascript を使って access.cgi を起動させる 結果を log.dat に残す。 この場合、ローカルではリンク元はきちんと ~~~a.html とログに保存されています。けれどこれとまったく同じ状況をTripodのサーバ上で再現してもなぜかリンク元が必ず空白になってしまうんです。リンク元以外のログは(時間やIP)しっかりと保存されているのでアドレスの指定が間違っていてaccess.cgiが動いていないということはありません。 そこで「これはもしかして何か特別な処理が必要なのかなぁ?」と思ってお伺いした次第です。やはりわたしのが書いたものがどこかおかしいのでしょうか??(なにか間違いを犯せる程の長さではないのですが・・・)

関連するQ&A