• ベストアンサー

htmlが出力されているはずなのに見えない?

こんばんは。CGI初心者でご迷惑をおかけするかもしれませんがよろしくお願い致します。実は初めてanhttpd,activePerlを利用してローカルでのCGI動作確認環境を作ろうとしているのですが、とほほのWWW入門さんを参考に設定等を行ったところ、単純にhelloを出力するだけのtestCGIで、実際ブラウザでは何も見えない(真っ白な画面のまま)なのですがソースではhelloが出力されているという状態になってしまい、困っております。これはどこに原因が考えられるのでしょうか?お手数をおかけしますがよろしくお願い致します。

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

  • ベストアンサー
回答No.3

ソースをよく見て、<BODY>のが<BODY になっている(後ろの>がない)場合は内容が何であっても表示されないようです。 <HEAD>でも試してみましたが、これは欠けていても閉じ忘れていても表示されるみたいです。 思わず実験してしまいました。

riruriruriru
質問者

お礼

皆様ありがとうございました。 サンプルCGIを一度Content-typeをtext/htmlに変えて再びtext/plainに戻してみたところ直りました。とても勉強になりました。ありがとうございます。

riruriruriru
質問者

補足

皆様ご回答ありがとうございます。 色々と試してみましたがダメだったのでhttpサーバーソフトをapacheに変えてみたところ、今度はcgiにアクセスすると、ファイルダウンロードダイアログが開いてしまいました。これは設定の問題なのでしょうか?

その他の回答 (2)

  • the845t
  • ベストアンサー率33% (246/743)
回答No.2

print "Content-type:text/plain\n\n"; print "hello"; となってますか? または、 print "Content-type:text/html\n\n"; print "hello"; 先頭の出力内容がなんであるか・・・ これが抜けているとエラーになります。

riruriruriru
質問者

お礼

ご回答ありがとうございます。 Content-typeは確かにtext/html\n\nとなっておりました。他にも色々と試してみましたがダメだったのでhttpサーバーソフトをapacheに変えてみたところ、今度はcgiにアクセスすると、ファイルダウンロードダイアログが開いてしまいました。これは設定の問題なのでしょうか?

  • qwer021
  • ベストアンサー率24% (70/281)
回答No.1

私も以前CGIをやっていました、そのときの経験ですがダブルコーテーションやシングルコーテーションとかちょっとした打ち間違いなどで標示できないことが多々ありました。 ソースではhelloが出力されているという事ですが ソースが<html>...</html>てな感じで標示されていますか? testCGI=サンプルCGIですか?この場合CGIの環境が原因かな。 出来れば サンプルCGIで動作するか確認して これを少しづつ変更すると良いかも?

riruriruriru
質問者

お礼

ご回答ありがとうございます。 色々と試してみましたがダメだったのでhttpサーバーソフトをapacheに変えてみたところ、今度はcgiにアクセスすると、ファイルダウンロードダイアログが開いてしまいました。これは設定の問題なのでしょうか?

関連するQ&A

専門家に質問してみよう