Apache、IIS 6、およびIIS 7で機能するヘッダーを取得しようとしています。その理由については、ここでは説明しません。思ったほど簡単ではないとだけ言っておきましょう:-)
とにかく、問題はNPHと関係があります。私たちのコード(元々はIIS 6用に書かれていました)には、
use CGI qw(:standard);
print "HTTP/1.0 200 OK\n";
print header;
すべてのcgiスクリプトの上部にあります。これが、NPHが必要であることをIISに伝える方法であると読みました。
Apacheはファイル名を使用して出力がnph(nph-はファイル名の先頭である必要があります)であるかどうかを確認するため、私が行ったこと(IIS 6とApacheの両方で機能します)は次のとおりです。
use CGI qw(:standard);
print header('text/html', '200 OK');
興味深いことに、IIS 7はNPHを必要としているようです。したがって、どちらも必要としない場合
use CGI qw(:standard -nph);
また
print "HTTP/1.0 200 OK\n";
print header('text/html', '200 OK'); #parameters are apparently optional
ブラウザはmimetypeを取得しないため、ファイルに対して何か奇妙なことをしようとします。
また、IIS 6および7はヘッダーをまったく印刷しなくても問題ありませんが、Apacheはそれを好みません。
とにかく、今のところ一番いいのは作ることです
use CGI qw(:standard);
print header('text/html', '200 OK');
どういうわけかIIS7で動作します。誰かが私がそれを行う方法を知っていますか?サーバー構成の詳細はすべてわかりませんが、必要な詳細を取得する方法を教えていただければ、それを行うことができます。
どちらにせよありがとう!