- ベストアンサー
ソースが表示されてしまいます
CGIでメールフォームを設置したのですが、今までHTTPサーバで動いていたCGIを今回SSLサーバにもって行きました。 IE6.0では、メールも届くし、表示も問題ないのですが、Netscape7.1だと、CGIでPOSTしたあとの送信前確認ページが、テキストでコードが表示されてしまいます。 それはCGIのプログラムコードが表示されるのではなく、CGIが書き出すHTML部分のコードだけが表示されます。(print "~~"のところだけ) これはサーバ側の問題?プログラム? わかる方教えてください~
- みんなの回答 (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]でそのページのファイルタイプなどが確認出来ます。
お礼
print "Content-type: text/html;charset=Shift_JIS\n\n"; と記入したらNNでも動作するようになりました! 貴重なヒントありがとうございました。
補足
NNで情報を見てみたのですが、text/plain になってました! CGI側にhead情報を書くところがあって print " HTTP/1.0 200 OK\n"; print " Content-type: text/html\n\n"; とあるんですが、どう直したらいいんでしょうか?