• ベストアンサー

ソースが表示されてしまいます

CGIでメールフォームを設置したのですが、今までHTTPサーバで動いていたCGIを今回SSLサーバにもって行きました。 IE6.0では、メールも届くし、表示も問題ないのですが、Netscape7.1だと、CGIでPOSTしたあとの送信前確認ページが、テキストでコードが表示されてしまいます。 それはCGIのプログラムコードが表示されるのではなく、CGIが書き出すHTML部分のコードだけが表示されます。(print "~~"のところだけ) これはサーバ側の問題?プログラム? わかる方教えてください~

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

  • ベストアンサー
  • hrm_mmm
  • ベストアンサー率63% (292/459)
回答No.1

>IE6.0では、メールも届くし、表示も問題ないのですが、Netscape7.1だと、CGIでPOSTしたあとの送信前確認ページが、テキストでコードが表示されてしまいます。 >HTML部分のコードだけが表示されます。(print "~~"のところだけ) cgiは動作していると思います。 そのcgiが出力するheader が「Content-type: text/plain」になっていたりしませんか? IEは、header情報を無視するとか十分解釈しないとか云う記述をどこかで見たことがあります。version upしても同じなのか未確認です。 netscapeは、ページの中身より、header情報に忠実に表示するそうです。 サーバー変更に伴って起きると云うことでしたら、サーバーでheader情報を、なにか付加しているということも考えられます。 netscape7では、メニューの[表示v]-[ページ情報I]でそのページのファイルタイプなどが確認出来ます。

noname#225081
質問者

お礼

print "Content-type: text/html;charset=Shift_JIS\n\n"; と記入したらNNでも動作するようになりました! 貴重なヒントありがとうございました。

noname#225081
質問者

補足

NNで情報を見てみたのですが、text/plain になってました! CGI側にhead情報を書くところがあって print " HTTP/1.0 200 OK\n"; print " Content-type: text/html\n\n"; とあるんですが、どう直したらいいんでしょうか?

関連するQ&A

専門家に質問してみよう