ホームページでcgiを実行しようとして以下のようなエラーメッセージを得ました。


[Wed Oct 21 14:12:16 2009] [error] [client (IP アドレス)] Premature end of script headers: index.cgi, referer: http:// (ディレクトリ名)
[Wed Oct 21 14:12:16 2009] [error] [client (IP アドレス)] Negotiation: discovered file(s) matching request: (ディレクトリ名) (None could be negotiated)., referer: http:// (ディレクトリ名)
[Wed Oct 21 16:53:08 2009] [error] [client [Wed Oct 21 16:53:08 2009] [error] [client (IP アドレス)]
malformed header from script. Bad header=HTTP/1.1 302 Found: index.cgi, referer: (ディレクトリ名)

のエラーメッセージは何を意味しているのでしょうか。 どのように直せばいいのでしょうか。


回答の条件
  • 1人2回まで
  • 登録:
  • 終了:2009/10/28 20:00:03
※ 有料アンケート・ポイント付き質問機能は2023年2月28日に終了しました。

回答2件)

id:palo No.1

回答回数124ベストアンサー獲得回数14

ポイント35pt

httpd.conf の中の Optionsに Multiviews を指定していますか?

下のような原因かもしれません。

●ファイル拡張子が違っていても表示される怪。

http://fusougomu.jugem.jp/?eid=449

id:mattn No.2

回答回数104ベストアンサー獲得回数23

ポイント35pt

http://mattn.kaoriya.net/ ダミー

あてずっぽですが...

おそらくリダイレクトの処理が書いてあるのかと思いますが

Content-Type: text/html\n
Location: /foo\n ← ココ

もしくは

Content-Type: text/html\n
Location: /foo ← ココ

になっていないでしょうか?つまりヘッダの最終を表す"\n\n"が抜けていないでしょうか?

正しくは

Content-Type: text/html\n
Location: /foo\n ← ココ
\n ← ココ

です。

※分かりやすく改行を書いたつもりですが実際には

Content-Type: text/html
Location: /foo

Content-Type: text/html
Location: /foo

こうなっていませんか?という意味です。

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

回答リクエストを送信したユーザーはいません