投稿日:2003年02月02日 作成鷹の巣

No.8155 CGI実行用ディレクトリで、CGIは動いてもHTMLやGIFなどがInternal Server Errorになる。



CGI実行用ディレクトリで、CGIは動いてもHTMLやGIFなどがInternal Server Errorになる。

No.8155 投稿時間:2003年02月02日(Sun) 11:38 投稿者名:入門者 URL:

RedHatLinux7.2上でApache1.3の環境での問題なのですが、
CGI実行用ディレクトリ上でCGI(.pl、.cgi)プログラムは正常に実行されるのですが、
HTMLファイル、GIF(画像)ファイルを開こうとする、またはCGIをとおして開こうとすると
「Internal Server Error」になってしまいます。
いろいろ調べてみましたが、Apacheサイトでは、CGI実行用ディレクトリ上では、拡張子がCGI、PL関係なく
実行されるようになっているようです。

これを、CGI、PLファイルのみを指定して実行させる方法はないでしょうか?
そしてHTMLファイル、GIFファイルをダイレクト指定して開けるようにしたいのですが、、、

どうか教えて下さい。よろしくお願いします


AddHandlerで定義すれば大丈夫でしょう・・・

No.8156 投稿時間:2003年02月02日(Sun) 13:16 投稿者名:おやじ URL:http://www.aconus.com/~oyaji

こんにちは。

> RedHatLinux7.2上でApache1.3の環境での問題なのですが、
> CGI実行用ディレクトリ上でCGI(.pl、.cgi)プログラムは正常に実行されるのですが、
> HTMLファイル、GIF(画像)ファイルを開こうとする、またはCGIをとおして開こうとすると
> 「Internal Server Error」になってしまいます。
> いろいろ調べてみましたが、Apacheサイトでは、CGI実行用ディレクトリ上では、拡張子がCGI、PL関係なく
> 実行されるようになっているようです。
> 
> これを、CGI、PLファイルのみを指定して実行させる方法はないでしょうか?
> そしてHTMLファイル、GIFファイルをダイレクト指定して開けるようにしたいのですが、、、

 そのCGIは /cgi-bin/ ディレクトリに置かれているのではないかと思うのですが、その場合、
Apacheが全てCGIとして扱ってしまうので、下記のようにhttp.confに追加して、.htmlや.gifは
text/画像と宣言すれば大丈夫です。
 Apacheのconfフォルダ内にmime.typesがありますので、必要な拡張子のものを同じように書けば
CGIとして扱われません。
 CGIをいじってhtmlやgifを置く場所を変えるという手もありますが。

<Directory "/usr/local/apache2/cgi-bin">
    AllowOverride None
    Options None
    Order allow,deny
    Allow from all
    AddHandler text/html .html .htm <-この行を追加
    AddHandler image/gif .gif       <-この行を追加
</Directory>


AddHandler行の追加で、正常に表示されるようになりました。

No.8160 投稿時間:2003年02月02日(Sun) 19:42 投稿者名:入門者 URL:

こんばんは

> <Directory "/usr/local/apache2/cgi-bin">
> AllowOverride None
> Options None
> Order allow,deny
> Allow from all
> AddHandler text/html .html .htm <-この行を追加
> AddHandler image/gif .gif <-この行を追加
> </Directory>

上記の行を追加した事で正常に表示されるようになりました。
ありがとうございます。


|目次|掲示板|過去ログ目次|▲頁先頭|