• ベストアンサー

ApacheでCGIが正常に動作しません。

httpd.confの設定でPerl.exeの場所の指定は必要なのでしょうか? 以下の場所に設定を行うのかと思ったのですが、設定するとApache起動時にprogram filesがエラーになってしまいます。 ServerSignature On !g:/program files/apache group/apache/perl/bin/" 設定が必要であれば設定方法をお願いします。 httpd.confの設定に <Directory "G:/Program Files/Apache Group/Apache/cgi-bin"> AllowOverride None # Options None Options ExecCGI Order allow,deny Allow from all </Directory> は追加してあります。 現在、CGIの結果として #!/perl/bin/Perl.exe print "Content-type: text/html\n\n"; print "\n"; print " Hello! WORLD \n"; print "\n"; exit; のように表示されない命令も全て表示されます。 本当はHello!WORLDだけを表示したいのですが。

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

  • ベストアンサー
  • inoue64
  • ベストアンサー率29% (334/1115)
回答No.4

案1(httpd.confを変更する) 変更前:AllowOverride None 変更後:AllowOverride All 案2(CGI) G:\ を開き、Program filesのプロパティを開き、 MS-DOSファイル名を調べ、それを「program files」のかわりに入力する apache groupも同様に 案3 >#!"g:/program files/apache group/apache/perl/bin/Perl.exe" "" で囲ってみる NO.2の自分の回答の >ここでいうディレクトリは、... ドライブ名などを指定する方法もあるらしいので違いました。

noname#8374
質問者

お礼

回答有り難うございました。 案1の変更を行えば正常に動作するようになりました。 助かりました。

その他の回答 (4)

  • inoue64
  • ベストアンサー率29% (334/1115)
回答No.5

回 答 下記解答(No.4)の1番はなんか違いそうだから訂正します AddHandler cgi-script .cgi を、httpd.confの <Directory> の外に設定します。

noname#8374
質問者

お礼

回答有り難うございました。 変更を行い正常に動作できました。

回答No.3

Perlの場所はCGIファイルに#!で書けばよいです。httpd.confには不要です。 #!g:/program files/apache group/apache/perl/bin/Perl.exe print "Content-type: text/html\n\n"; print "\n"; print "Hello! WORLD\n"; print "\n"; exit; というCGIでやってみてください。

noname#8374
質問者

お礼

試してみたのですが、そのまま表示されました。 何か他に変更する個所はありますか?

  • inoue64
  • ベストアンサー率29% (334/1115)
回答No.2

> !g:/program files/apache group/apache/perl/bin/" について 全体が " " で囲まれていないからかな(予想) > <Directory "G:/Program Files/Apache Group/Apache/cgi-bin"> ここでいうディレクトリは、サーバーのルートからのパスで、 /cgi-bin/ などとやると思います。

  • selenity
  • ベストアンサー率41% (324/772)
回答No.1

cgiのファイルの拡張子の問題でしょう。 Windows自体が「.cgi」ファイルの関連づけ を知らないのでしょう。

関連するQ&A