犬山大王さんの件を解説すると、URLを正しく
http://ksinuyama.ddo.jp/cgi-bin/bbsnote.cgi
とすれば何も問題はないのですが、誤って
http://ksinuyama.ddo.jp/cgi-bin/bbsnote.cgi/
のように最後に / をつけてしまうとイメージへのアクセスが
http://ksinuyama.ddo.jp/cgi-bin/bbsnote.cgi/data/IMG_000001.jpg
となるし、リンクでも /bbsnote.cgi/ が余分に入ってしまい
正常な動作をしないという現象が起きていたのです。
javaアプレットでエラーするのも同じ原因のようです。
ちひゃさんが言うように bbsnote.cgi/… とするのは PATH_INFO
という使い方があるのでサーバがエラーにするわけにはいきません。
この防衛策としては以下の過去ログが参考になるかと思います。
http://homepage1.nifty.com/yito/namazu/gbook/20011220.1238.html
犬山大王さんの例で言うと<HEAD> </HEAD> の間に
<BASE HREF="http://ksinuyama.ddo.jp/cgi-bin/">
が入るように CGIを書き替えてやればいいということです。
ソースでいうと skin.cgiの113行目の次あたりでいいかと思います。
これによってもしローカルでアクセスできなくなるようなら
hostsに ksinuyama.ddo.jp を設定してみてください
To いとさん
CGI に続く スラッシュ から始まる文字列は、PATH_INFO という環境変数で CGI に渡されます。
ですので、
http://host.domain/hoge/xxx.cgi/
と書いたら、PATH_INFO に "/" を設定した状態で
普通に xxx.cgi を実行してくれないと困ります(^^;
中田さん
犬山大王さんの件、
http://host.domain/hoge/xxx.html/ なら Error 403になるのですが、
http://host.domain/hoge/xxx.cgi/ だと / がついたまま xxx.cgiを
実行してしまうことに問題はないでしょうか?
追加です。 エラーログです。
Tue Jul 22 06:12:27 2003 AN HTTPD 1.42h Ready.サーバは今でもアクセス出来ると思います。
Tue Jul 22 06:29:56 2003 Error Response 404 Thread 0(ID= -921953) to 192.168.1.99 for "/cgi-bin/pbbs/PaintBBSBeanInfo.class"
いとさん>中田さん>いろいろ有難うございます。HTTPD.LOGを見ると
やはり指定パスが違うような気がします。ちょとその辺を見た方がいいようですね!。
参考にlogを書いときます。
61.213.69.123 - - [22/Jul/2003:06:26:41 +0900] "GET /cgi-bin/bbsnote.cgi/data/IMG_000009.jpg HTTP/1.0" 200 22491ローカルアドレスとグローバルアドレスではパスが違うようです。
61.213.69.123 - - [22/Jul/2003:06:26:41 +0900] "GET /cgi-bin/bbsnote.cgi/data/IMG_000008.jpg HTTP/1.0" 200 22491
61.213.69.123 - - [22/Jul/2003:06:26:42 +0900] "GET /cgi-bin/bbsnote.cgi/data/IMG_000007.jpg HTTP/1.0" 200 22491
61.213.69.123 - - [22/Jul/2003:06:26:43 +0900] "GET /cgi-bin/bbsnote.cgi/data/IMG_000006.jpg HTTP/1.0" 200 22491
61.213.69.123 - - [22/Jul/2003:06:26:44 +0900] "GET /cgi-bin/bbsnote.cgi/data/IMG_000003.jpg HTTP/1.0" 200 22491
61.213.69.123 - - [22/Jul/2003:06:26:44 +0900] "GET /cgi-bin/bbsnote.cgi/data/IMG_000002.jpg HTTP/1.0" 200 22491
61.213.69.123 - - [22/Jul/2003:06:26:46 +0900] "GET /cgi-bin/bbsnote.cgi/data/IMG_000001.jpg HTTP/1.0" 200 22491
61.213.69.123 - - [22/Jul/2003:06:26:48 +0900] "POST /cgi-bin/bbsnote.cgi/bbsnote.cgi HTTP/1.0" 200 16811
192.168.1.99 - - [22/Jul/2003:06:29:52 +0900] "GET /cgi-bin/bbsnote.cgi HTTP/1.1" 200 22491
192.168.1.99 - - [22/Jul/2003:06:29:52 +0900] "POST /cgi-bin/bbsnote.cgi HTTP/1.1" 200 16931
192.168.1.99 - - [22/Jul/2003:06:29:52 +0900] "GET /cgi-bin/PaintBBS.zip HTTP/1.1" 304 0
192.168.1.99 - - [22/Jul/2003:06:29:56 +0900] "GET /cgi-bin/pbbs/PaintBBSBeanInfo.class HTTP/1.1" 404 225
犬山大王さん、
いとさんの言うとおり、
http://ksinuyama.ddo.jp/cgi-bin/bbsnote.cgi
ですね。
もっともこれでは /cgi-bin/ の中に BBSNote やその他の CGI が混在している状態でしょうから、あまりよい使い方とは思えません。
別に /cgi-bin の下でなくてもいいので、BBSNote 用のフォルダを作りましょう。
問題の灰色のエラーは config.cgi の中で http://ローカルアドレス/ を設定してしまっているとそうなりそうな気もします。
犬山大王さんのURLは正しくは
http://ksinuyama.ddo.jp/cgi-bin/bbsnote.cgi
であり、最後の / は不要なのでしょうね?
http://ksinuyama.ddo.jp/cgi-bin/
でも同じところにアクセスするようですが。
原因は分かりませんが、そのページで「PAINT」をクリックすると
以下のエラーメッセージが出ます。
ライン:270
文字:2
エラー:オブジェクトでサポートされていないプロパティまたはメソッドです。
コード:0
URL:http://ksinuyama.ddo.jp/cgi-bin/bbsnote.cgi
ちなみに270行目は以下の通りです。
p = String(document.paintbbs.getColors());
http://192.168.1.99/cgi-bin/bbsnote.cgi なら Javaアプレットが
正常に表示されるのだとすると何でしょうかね?
以下の Support BBSの過去ログは調べられましたか?
http://wondercatstudio.com/bbs/support/cbbs.cgi
キャンバスが灰色になるというのは FAQ のようです。
ただグローバルとローカルで動作が違うのだとすると
向こうで聞いても悩むかもしれませんね。
To 犬山大王さん
今アクセスしてみました。BBSの表示が出ますが、確かに絵が出ませんね。
そこで絵のURLを確認したところ、
http://ksinuyama.ddo.jp/cgi-bin/bbsnote.cgi/data/IMG_000001.jpg
となっていました。これは正しくなさそうです。
試しにブラウザで
http://ksinuyama.ddo.jp/cgi-bin/data/IMG_000001.jpg
を指定したところ、絵が出ました。こっちが正しいURLですよね?
ローカルとグローバルで何で変わるのか不明ですが、
ここら辺にヒントがありそうだと思います。
中田さん>すいません!。ローカルアドレスです。192.168.1.99にしてます。
こちらでアクセスした場合OKでしたが外部サーバに繋ぐとエラーになるようです。
画像もアクセス出来ません。今こちらに繋がると思います。
犬山大王さん、
そのアドレスにアクセスできないのでよくわかりません。
LAN経由というときは、どういうアドレスでやっているのですか?
中田さん>たびたび、すいません。アドレスを載せます。http://ksinuyama.ddo.jp/cgi-bin/bbsnote.cgi/ です。灰色になったままアプレッドが起動しません。
lan経由では、問題ありませんでした。UNIXの関係でしょうか?。
CGIの書き換えが必要かもしれませんが、書き換え項目が解りません。
御免なさい。宜しくお願いします。今現在も色々やってますが上手くいきません。
perlは、ActivePerl-5.6.1.635-MSWin32-x86をインストール済みです。
投書はお互いが出来ました。
犬山大王さん、
「PBBSのアプレットの時にエラーがでます」だけではなんともわかりません。
どんなエラーが表示されるのですか?
中田さん>始めまして 外部サーバは外部から見る事です。wwwサーバのテスト
と友達にアクセスしてもらったんですが結果は一緒です。直接アクセスすると問題なく
動作します。色々ためし見るのですが変化なしです。専門的な事は解りません。
PBBSのアプレットの時にエラーがでます。宜しくお願いします。
犬山大王さん、
「外部サーバ」というのは外部からのアクセスの時、という意味ですか?
始めましてANHTTPDを使わさしてもらってます犬山大王です。
実は外部サーバでpaintBBSの画像がPNGが表示されないのと、アブレットを
開いた時エラーになります。灰色の画面!。内部サーバではちゃんと動作してました。
ActivePerlも入れています。投書だけは出来るようです。色々過去ログ等見たんですが
よく解らずです。OSはwinmeを使ってます。ルータはBARSW-4P
です。 なぜ内部サーバで動作出来て外部サーバでは駄目なんでしょうか?。
宜しくお願いします。