- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:「お気に入り」からアクセスされるとCGI(カウンター)が動かない)
「お気に入り」からアクセスされるとCGI(カウンター)が動かない
このQ&Aのポイント
- トップページに隠しカウンターを設置しているが、「お気に入り」からのアクセスではカウントアップしない
- 他のページからのアクセスやリロードでは正常に動作するが、「お気に入り」からアクセスされると問題が発生する
- ソースやプログラムの設定以外に、何か設定的な問題や仕様があるのか調査している
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
>カウンターと言いましても、ほんとに数字をカウントさせているだけで、 CGIで何か画像を送り出ししていますか? 何も送出していない場合、ブラウザが表示の高速化の為にキャッシュした内容を使用してしまい、実際のCGIにアクセスしない場合があります。
その他の回答 (1)
- chie65536
- ベストアンサー率41% (2512/6032)
回答No.1
CGIの中で環境変数 HTTP_REFERER が定義されているのを前提にしている部分がありませんか? つまり、環境変数 HTTP_REFERER が未定義だった場合の処理が無く、いきなり環境変数 HTTP_REFERER を参照しているとか。 お気に入りから飛んだり、URLを直打ちした場合、環境変数 HTTP_REFERER は未定義になるので、いきなり環境変数 HTTP_REFERER を参照すると、参照した行でスクリプトの実行が中断され、それ以降は処理されません。 実行中断される行(環境変数 HTTP_REFERER を参照した行)が、カウンタを更新する処理の前であれば、当然、カウントアップされない事になります。
質問者
補足
chie65536さん、早速の返答ありがとうございます。 すいません、説明不足でした。 カウンターと言いましても、ほんとに数字をカウントさせているだけで、 HTTP_REFERER、HTTP_USER_AGENT、REMOTE_HOST、REMOTE_ADDR 等の環境変数関連の処理は何もさせてはいないのです。 数値を格納するログファイルを操作するくらいなのです。 よろしくお願い致します。
お礼
ありがとうございます! まさにその通りでした。キャッシュを削除してみると、問題なく動作しました。また、他のPCでURIを初めて直打ちしてアクセスしてみても、ちゃんと動作しました。 >CGIで何か画像を送り出ししていますか? トップページでのCGIへの動作アクセスは、数をカウントアップさせるだけの動作でしたので、何も画像は送り出していませんでした。 ダミーでそのように動作するプログラムをいれてみることにします。 ほんとにありがとうございました。