AN HTTPD ゲストブック/コメント集(2000年8月8日05:10)


中田昭雄 nakata@st.rim.or.jp 2000/08/10 21:51

いとさん、
そうですね。予約デバイス名の扱いが Win9x と WinNT/2000 とで違うので。
それでいいかどうかは確かではないので見直してみますが。


再挑戦@初心者 antisocial@pop.geocities.co.jp 2000/08/10 03:20

AN HTTP Server を再インストールすることで、
問題を解決できました。

ありがとうございました。。。


いと gfh05223@nifty.com 2000/08/10 01:49

中田さん
些細なことですが、予約デバイスの件で Win2000と Win9xではエラーメッセージがなぜか違っていますね。

                      Win2000  Win9x 
http://127.0.0.1/|/ 404 400
http://127.0.0.1/</ 403 400
http://127.0.0.1/>/ 403 400
http://127.0.0.1// 400 400


中田昭雄 nakata@st.rim.or.jp 2000/08/09 21:42

再挑戦@初心者さん、
おそらく cgi-bin ディレクトリやファイルの更新日時(作成日時)が数十年先になっているのではないでしょうか?
場合によっては、日時自体も 2038年より先になっていると思います。

予約デバイス名の問題ではないのでメッセージが不適切なのですが、AN HTTPD では、2038年問題に未対応のため、間違ってそのエラーメッセージを出してしまっているようです。

2038年問題対策は進めていきますが、日付とディレクトリ/ファイルの更新日時を現在にしてもらえば大丈夫だと思います。


いと gfh05223@nifty.com 2000/08/09 07:31

再挑戦@初心者さん
例えば、http://127.0.0.1/prn/ にアクセスすると Error 400が出ます。「prn」のところを「con」「nul」「lpt1」「com1」「aux」などとしても同様です。MS-DOSの頃から?、プリンタ、コンソールといった周辺機器を特定のファイル名で呼んでいて、それと同じ名前をパスに使うとエラーになるわけです(多分)。ただそういう名前のフォルダ/ファイルをWindowsで作成しようにもできませんが。

ところで私も先日Namazuを試していて偶然気がついたのですが、http://127.0.0.1/|/ でも400が出ますね。さらに今気がついたのですが、http://127.0.0.1/</ 、http://127.0.0.1/>/ などでも。パイプやリダイレクトですから同じということなのでしょうか。さらには、http://127.0.0.1// も。

というのが予約デバイスの意味ですが、再挑戦@初心者さんの場合のエラーは別の原因のようですね。


再挑戦@初心者 antisocial@pop.geocities.co.jp 2000/08/08 23:42

中田昭雄さん
resありがとうございます。

オプションでチェックをはずし、
http://127.0.0.1/cgi-bin を表示してみたのですが、
また Error 400 が出てしまいました。
どこか設定のミスがあるのでしょうか?

あのぅ・・・、このエラーの予約デバイスとは、
何の事を指しているのでしょうか?

…勉強不足ですみません。。。


中田昭雄 nakata@st.rim.or.jp 2000/08/08 21:32

再挑戦@初心者さん、
確かに Perl 起動前のエラーですね。

オプションの表示/インデックスで、「.www_browsable があるディレクトリのみ表示」のチェックを外してから、
http://127.0.0.1/cgi-bin/
としてみてください。
/cgi-bin のディレクトリリストは正常に表示されるでしょうか?
リストが正常に表示されたら、test.cgi もあるはずなので、そこをクリックしてみてください。それでどうなるでしょうか?


再挑戦@初心者 antisocial@pop.geocities.co.jp 2000/08/08 05:10

はじめまして。
最近またCGIに挑戦してみようと奮闘しています。

以前にWinNT上でCGIを動かした時は、
問題なく行ったのですが、
思わぬ所で進まなくなってしまいました。
過去ログでも答えを見つける事ができず、
非常に初歩的で申し訳ないのですが、質問をさせて下さい。

CGIが動くかどうかテストをしようと思い、
http://127.0.0.1/cgi-bin/test.cgi、としたところ、
「Error 400 不正リクエスト - パスに予約デバイス名を含んでいます」
となってしまいました。

test.cgiは以下の内容です。

#!/usr/local/bin/perl

print "Content-type: text/html\n";
print "\n";
print "<HTML>\n";
print "<HEAD>\n";
print "<TITLE>テスト</TITLE>\n";
print "</HEAD>\n";
print "<BODY BGCOLOR=\"#FFCCCC\">\n";
print "これはCGIのテストです。\n";
print "</BODY>\n";
print "</HTML>\n";

Perl.exeにたどり着く以前の問題のような気がするのですが、
解決できないでいます。

どなたか、ご指導ください。
よろしくお願い致します。。。