-PR-
解決済み

cgiもしくはJAVAなのでしょうか・・・?困ってます!!

  • すぐに回答を!
  • 質問No.65676
  • 閲覧数50
  • ありがとう数9
  • 気になる数0
  • 回答数7
  • コメント数0

お礼率 42% (33/78)

少し解らずらい内容なのですが・・すみません、教えてください。
実はアクセスログを設置し、運営しようかと思っております。
そのプログラムがフレームに対応していないとの回答(開発者)をいただき、一番初めに表示されるページにタグのリロードをつけ、そしてフレームページにジャンプさせる・・・、と考えておりました。が、エンドユーザー側がそのページにブックマークをつけると、次回は次のページからスタートしてしまい、正確なログが取れないという問題に直面しました。

図)
|-index.htm(ログ集計・・・リロードにてnext.htmへジャンプ)
|
|-next.htm(エンド側にてブックマークにすると、次回はnxet.htmからとなる)

で何かよい方法はないかと思い、相談しました。
例)
|-index.htm
|  |-???.cgi
|
|-index.htm

とできれば、ブックマークをつけても、常にindex.htmとできるのですが・・・?
これは、cgiですか?javaですか?
あと、ソースを教えてください。
通報する
  • 回答数7
  • 気になる
    質問をブックマークします。
    マイページでまとめて確認できます。

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

  • 回答No.5
レベル11

ベストアンサー率 61% (157/255)

cgiかJavaか?
これは問題ではないです。javaであってもかまわんです。ただ、javaをCGIとして使用している人は少ないとは思いますが。

リロード形式を今一歩補えばできないことはないですが・・・
Perlなどで、

$url[0] = 'http://*****/index.html';
$url[1] = '';
# ほかにあるなら…
$ENV{'HTTP_REFERER'}=~ s/%(..)/pack("C",hex($1))/eg;
if($ENV{'HTTP_REFERER'}){for(@url){if($_&&$ENV{'HTTP_REFERER'}=~ /^\Q$_\E/){$flag=1;last;}}}
if($flag==1){
#直前のページが指定された(トップの)URLだったので、どうやら、順調にはいってきたようだがなや。
すでにindexでアクセス解析してるはずなので、終了しようかいなこりゃ。
exit();
}

#どうやら、サイト外からご訪問なさった模様なので、ログ解析でもいっちょとったるかいなこりゃ。

#以下つらつらとログ解析プログラミングでもどっかからぺちってきてはっ付けとくがやさ。

あ、つらつらつらら。
お・わ・り。

これをindex.htmと、next.htmの両方から呼び出してしまえば良いんではないですかいな?
index→next.htmに来たときには、indexの時だけログ解析が行われる。next.htmでは直前がindexなのでexitし、ログ解析しません。

いきなりnext.htmに来たときには、直前がindexでないので、ログ解析が行われる。
お礼コメント
_duke_

お礼率 42% (33/78)

ありがとうございました。
参考にさせていただいて、試しているのですが・・・。
はずかしながら、ど素人にはすごく難しいです。
もう少し教えていただけますか?
投稿日時 - 2001-04-23 15:42:21
関連するQ&A
-PR-
-PR-

その他の回答 (全6件)

  • 回答No.2
レベル11

ベストアンサー率 28% (67/237)

ユーザーズグループのASPメーリングとかD-HTMLメーリングの 活用をお勧めします。 プログラムの話は、何回かのやり取りも必要でしょう。 きっと参考になるはずです。 ...続きを読む
ユーザーズグループのASPメーリングとかD-HTMLメーリングの
活用をお勧めします。
プログラムの話は、何回かのやり取りも必要でしょう。
きっと参考になるはずです。
お礼コメント
_duke_

お礼率 42% (33/78)

ありがとうございました。
参考にしてみます。
投稿日時 - 2001-04-20 08:36:55


  • 回答No.4
レベル11

ベストアンサー率 49% (139/279)

イメージタグ<img=でログを取るタイプのものもありますよ。 ...続きを読む
イメージタグ<img=でログを取るタイプのものもありますよ。
お礼コメント
_duke_

お礼率 42% (33/78)

ありがとうございます。
参考にします。

依然・・・困ってます!
投稿日時 - 2001-04-20 16:19:12
  • 回答No.1

cgiでもjavaでもなく、HTMLでフレームきればいいのでは? index.htmの内容を、 <html> <frameset cols="0%,100%"> <frame src="ログを取るcgiのファイル(1)"> <frame src="実際に表示するファイル(2)"> </frameset> </html> とやれ ...続きを読む
cgiでもjavaでもなく、HTMLでフレームきればいいのでは?
index.htmの内容を、
<html>
<frameset cols="0%,100%">
<frame src="ログを取るcgiのファイル(1)">
<frame src="実際に表示するファイル(2)">
</frameset>
</html>

とやれば、index.htmにアクセスしたときに(1)でログを取り、実際に表示されるのは(2)の画面。
後、画面遷移はそのまま(2)の画面の部分だけ移動するようにすれば、ログが二重に吐き出されることもありません。
(colsはrowsにしても同じです)

ただし、この方法だとURL表示はindex.htmlひとつだけになりますので、URL表示を変更したいという場合にはむきません。
補足コメント
_duke_

お礼率 42% (33/78)

ありがとうございます。
index.htmの内容を
<html>
<frameset cols="0%,100%">
<frame src="ログを取るcgiのファイル(1)">・・・ue.htm
<frame src="実際に表示するファイル(2)"> ・・・shita.htm
</frameset>
</html>
ですよね。という事は、ue.htmでログを採取する記述を入れる・・・。
はい、やってみました。問題なく動作するのですが、
キーワードや直前のURLの情報が取れないんです。
上記の記述ですと、直前のURLが、index.htmとなってしまいます。
投稿日時 - 2001-04-20 08:37:04
  • 回答No.3
レベル9

ベストアンサー率 35% (27/77)

>上記の記述ですと、直前のURLが、index.htmとなってしまいます。 解析cgiのあるページを呼んでいるのはindex.htmですよね。 REFFERは直前に見ていたページが表示されるわけですから。:-) フレームもしかり…なのかな? フレームで問題がでるのなら index.htmはフレームもなにもきらない 構成にすればいいと思います。よくありますよね、入口ページ。 そこが ...続きを読む
>上記の記述ですと、直前のURLが、index.htmとなってしまいます。
解析cgiのあるページを呼んでいるのはindex.htmですよね。
REFFERは直前に見ていたページが表示されるわけですから。:-)
フレームもしかり…なのかな?

フレームで問題がでるのなら index.htmはフレームもなにもきらない
構成にすればいいと思います。よくありますよね、入口ページ。

そこがブックマークされないと心配しているなら、ブックマークして
もらえるような工夫をすればいいだけのことです。更新情報を
載せるとか、絵描きさんなら新作は必ずそこに掲載してからにするとか。
一言日記を載せるとか。

技術技術だけじゃなくてちょっとした工夫だと思いますよ。

それでも私みたいに直接日記、掲示板にブックマークする人はいます(笑)。一番いいのはログを貰えるプロバイダを使うことです。
補足コメント
_duke_

お礼率 42% (33/78)

アドバイス、ありがとうございました。
確かに・・・・と思うのですが、
困った事に、構造は変えなれないのです。
いやぁ・・・悩んでマス!
投稿日時 - 2001-04-20 11:32:45
お礼コメント
_duke_

お礼率 42% (33/78)

すみません。お礼するつもりが・・・補足になってました。
どーも、すみませんでした!
投稿日時 - 2001-04-20 16:20:13
  • 回答No.6
レベル12

ベストアンサー率 67% (310/456)

CGIとは,Webサーバプログラムと他のプログラムが協調動作するための仕組み。 JavaやPerlは,他のプログラムとして何を使っているかという事。 Javaに関していえば… JavaはJavaAppletやCGIとして,Webに利用可能。 ログ回収CGIがnext.htmを吐くという方法もありますね。Perlならこんな感じ ########################## bin ...続きを読む
CGIとは,Webサーバプログラムと他のプログラムが協調動作するための仕組み。
JavaやPerlは,他のプログラムとして何を使っているかという事。

Javaに関していえば…
JavaはJavaAppletやCGIとして,Webに利用可能。

ログ回収CGIがnext.htmを吐くという方法もありますね。Perlならこんな感じ
##########################
binmode(STDOUT);
print "Content-type: text/html\r\n";
print "\r\n";

open(MAINHTML,"next.htm");
read(MAINHTML,$myMain,102400); #<-でかい数字で適当に読んでます。
print $myMain;
close(MAINHTML);
お礼コメント
_duke_

お礼率 42% (33/78)

ご丁寧にありがとうございます。
色々と調べた結果、フレームに対応したアクセスログができる方法を探した方が良さそうな感じがします。
アクセス元のリモートホストやブラウザ、OS情報、解像度、検索キーワードなどが解析できるも。

ありがとうございました。
投稿日時 - 2001-04-23 08:59:06
  • 回答No.7
レベル12

ベストアンサー率 67% (310/456)

友人がちょうどログ解析をつけたというので,そのWebページの解析やっていたら,JavaScriptになかなか使えるプロパティがあることを発見。 ###################################### <script language="JavaScript"> <!-- document.write('<img wid ...続きを読む
友人がちょうどログ解析をつけたというので,そのWebページの解析やっていたら,JavaScriptになかなか使えるプロパティがあることを発見。

######################################
<script language="JavaScript">
<!--
document.write('<img width=0 height=0 src="ログ解析CGI?refer='+document.referrer+'">);
-->
</SCRIPT>
<noscript>
<img width=0 height=0 src="ログ解析CGI?refer=NoJavaScript">
</noscript>
#######################################
JavaScriptを利用してForm type=GETと同じ形式でCGIにreferrerを渡す。
JavaScriptが利用できないときはreferrerあきらめる。
こんな形式で利用できるようにCGI改良すれば,CGI処理が遅くなっても,閲覧者はストレスなくWebの閲覧が可能。
お礼コメント
_duke_

お礼率 42% (33/78)

ありがとうございました。
幾分素人なもので・・・、
もう少し詳しく設置方法などを教えてください。
投稿日時 - 2001-04-23 08:59:59
このQ&Aで解決しましたか?
関連するQ&A
-PR-
-PR-
こんな書き方もあるよ!この情報は知ってる?あなたの知識を教えて!
このQ&Aにはまだコメントがありません。
あなたの思ったこと、知っていることをここにコメントしてみましょう。

その他の関連するQ&A、テーマをキーワードで探す

キーワードでQ&A、テーマを検索する
-PR-
-PR-
-PR-

特集


新大学生・新社会人のパソコンの悩みを解決!

いま みんなが気になるQ&A

関連するQ&A

-PR-

ピックアップ

-PR-
ページ先頭へ