WEB相談室

Webページ作成に関しての何でも掲示板です。

タイトル:win2000Serverで

0:[投稿] アクア [2002/12/04 14:54 ][環境:WIN+IE WIN系+Perl]

ちょっと場違いっぽいのですがwin2000Serverを使っている方で
index.cgiをTOP(http://www.xxx.xxx.xxx.xxと呼び出した時に)で使っている方は居ますか?
もし使い方がわかる方と使ってる方が居ましたらご指導お願いします。
index.cgiはログ取り用ですのでLocationでindex.htmlに飛ぶように設定されています。
実際に試したのですがLocationは動いて移動するのですがログが取れていないので解る方いたらお願いします。


1:[関連] アクア [2002/12/04 14:56 ]

こちらでもレス立てます。
http://cgi.annie.ne.jp/~halpin/question/index.phtml?site=gac&num=1038562681&stats=general


2:[回答] andi [2002/12/04 15:41 ]

恐らくIISでCGIを実行した場合の初期ディレクトリがInetPub直下にあるのが原因では無いかと。
スクリプト冒頭にこんな記述を入れてみて下さい。

BEGIN{
   $0 =~ m!(.+)[\\\/](.+)!;
   chdir($1); push(@INC,'.');
}


3:[回答] andi [2002/12/04 15:46 ]

ちょっと修正します。

BEGIN{
  $0 =~ m!(.+)[\\\/].+!;
  chdir($1);
}


4:[回答] アクア [2002/12/04 15:56 ]

加えてみましたがログの生成がされていないみたいです。

print{"Location :http://g-spo.to/index.asp\n\n";
exit;
}
と一番下に書くのは有効でしょうか?


5:[関連] アクア [2002/12/04 15:58 ]

あっ関係ないサイトのURL書いちゃいました^^;


6:[回答] ひじ [2002/12/04 22:59 ]

まず、本当にLocationレスポンスによってリダイレクトが起きているか確かめる必要があります。
telnetでリクエストを行ってみるとよいです。
http://www.example.com/ に接続する場合は、
ポート番号80で www.example.com に接続し、
GET / HTTP/1.0

(改行を2回続けて行う)
と入力します。もし、 http://www.example.com/ から http://www.example.com/index.html にリダイレクトするのであれば、

HTTP/1.1 302 Found
Location: http://www.example.com/index.html

...
みたいなレスポンスが返ってくるはずです。

>>4
ログを生成する以前に、syntax errorなのですが…


7:[回答] ひじ [URL] [2002/12/04 23:01 ]

telnet でHTTPリクエストを行うことについては、
http://www.glasscom.com/tone/articles/nos1998b/www/
あたりが参考になります。


8:[回答] akua [2002/12/05 09:59 ]

色々やってみた結果出ました
BEGIN{
  $0 =~ m!(.+)[\\\/](.+)!;
  chdir($1); push(@INC,'.');
}
を使い成功はしました
多分Locationの前に前回記述してしまい失敗してのではないかと思います。
telnetの方は今試しにやってみてます。
もう少し様子見てみます。

回答(必須): 状態:

お名前(必須):

e-mail:

URL:




[戻る]

ChaichanPAPA's World