- ベストアンサー
CGI実行できない。ソースが表示される
サーバを移し変えたところ、Perlで書いたCGIが実行できません。 ソースがそのまま表示される部分があります。 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <HTML> <HEAD> <META HTTP-EQUIV=Content-type CONTENT=text/html; charset=Shift_JIS><LINK REL="SHORTCUT ICON" HREF="../favicon.ico"> <LINK REL="stylesheet" HREF="style.css" type="text/css"> ヘッダー部分です。 上記のまま表示されます。 ヘッダー部分を直すんでしたっけ? 前に経験あって、クリアしたのですが、解消法忘れました。 同じソースを実行して全部が全部実行できないわけではありません。 文字コードではなかったような気がしますが。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
CGIのソースが先頭から表示されるんじゃ無く、HTMLのソースが見えるんですね? これ、もの凄く重要です。 直接の原因は、ブラウザが「CGIが吐いたHTML」をプレーンテキストと認識してるんでしょう。 その原因はWebサーバーソフトの設定がそうなってる可能性が高いかと。 簡便に対策するには、CGIが出力するレスポンスヘッダに Content-type: text/html; charset=Shift_JIS を追加してください。 # もしも既に Content-type: を出力してるなら、その内容を教えてください。 Content-type: の追加で解決したなら、サーバーの設定が以前と違うのが原因と断定できます。 Apacheなら、設定ファイルや .htaccess で本対策できるでしょう。 もう少し説明が必要ですか?
その他の回答 (1)
- MOMON12345
- ベストアンサー率32% (1125/3490)
cgiが実行可能になっていないのでしょう。 .htaccessが使えればそれで、使えなければApacheなりの設定を変更してください。
お礼
回答ありがとうございました。 おっしゃる方法で無事解決できました。 .htaccessはそのままにしておきます。