No.17909 投稿時間:2004年12月07日(Tue) 13:05 投稿者名:poppo URL:
はじめまして、サーバ環境構築初心者「poppo」です。
Apache2+Corega2にてWebサーバの設定を行っているのですが、
CGIファイル「.cgi」を実行(URLリンク)しても、そのCGIファイルの
"実行結果ファイル"をダウンロードするダイアログが表示されるだけで、
ブラウザにはCGIの実行結果が表示されないのです。
少々手詰まりの状態ですので、ご教授もしくはアドバイスお願いします。
なお、CGIに関してのhttp.confは以下のようにしてあります。
-------------------------------------
ScriptAlias /cgi-bin/ "/web/htdocs/default/cgi-bin/"
<Directory "/web/htdocs/default/cgi-bin">
AllowOverride None
Options ExecCGI
Order allow,deny
Allow from all
</Directory>
AddHandler cgi-script .cgi
AddHandler cgi-script .pl
#AddHandler send-as-is asis
No.17910 投稿時間:2004年12月07日(Tue) 13:09 投稿者名:poppo URL:
すいません、自己フォローです。
ダウンロードしたファイルには、CGIの実行結果が返ってくるので、Perlのパスが間違っているわけでもなく、
実行できていないわけでもないみたいです。
また、拡張子が何も無いファイル(cgiのプログラムソース)では、普通に実行結果がブラウザに表示されるのです。
どなたか、似たような症状が合ったりしましたらアドバイスお願いします。
では
No.17913 投稿時間:2004年12月07日(Tue) 16:44 投稿者名:通-行-人 URL:
> ダウンロードしたファイルには、CGIの実行結果が返ってくるので、Perlのパスが間違っているわけでもなく、
> 実行できていないわけでもないみたいです。
その CGI で、 HTTP ヘッダはきちんと出力させていますか。
ブラウザはヘッダの Content-Type: の項を見て、 そのまま表示させるかダウンロードとして処理するかを決定しています。
HTML なら 「text/html」、 画像なら 「image/png」 等、 ブラウザがそのまま表示できる形式を指定する必要があります。
XHTML で使うことのある 「application/xhtml+xml」 は、 一部の古いブラウザでは解釈してくれません。
No.17914 投稿時間:2004年12月07日(Tue) 16:59 投稿者名:poppo URL:
通行人さん、お返事ありがとうございます。
HTTPヘッダなのですが、これはきちんと(text/htmlではありませんが)設定してありました。
(print "Content-type: text/plain\n\n";)
といいますか、Apache2に付属しているテストCGI『printenv』を『printenv.cgi』
に拡張子をつけて実行テストを行っているのですが、前者はブラウザに表示されて、
後者はCGI結果がダウンロードファイルとなってしまうのです。
ですので、CGIの問題ではないと思うのですが。。。
どうなのでしょうか?
No.17917 投稿時間:2004年12月07日(Tue) 21:38 投稿者名:ほげ URL:
> 通行人さん、お返事ありがとうございます。
> HTTPヘッダなのですが、これはきちんと(text/htmlではありませんが)設定してありました。
> (print "Content-type: text/plain\n\n";)
>
> といいますか、Apache2に付属しているテストCGI『printenv』を『printenv.cgi』
> に拡張子をつけて実行テストを行っているのですが、前者はブラウザに表示されて、
> 後者はCGI結果がダウンロードファイルとなってしまうのです。
>
> ですので、CGIの問題ではないと思うのですが。。。
> どうなのでしょうか?
<Directory "/web/htdocs/default/cgi-bin">
↓
<Directory "/web/htdocs/default/cgi-bin/">
No.17920 投稿時間:2004年12月08日(Wed) 09:09 投稿者名:poppo URL:
ほげさん、ありがとうございます。
ご指摘どおり、最後の「/」が問題だったようです。
って、……初期設定と同じよう(「/」なし)ではダメだったのですね。
もうちょっとマニュアル見て勉強したいと思います。
ほげさん、通行人さん、アドバイスありがとうございました。
では