- ベストアンサー
Linuxサーバーのcgi-binの中のgifやindex.htmが表示されない
RedHat Linux9でWebサーバーをつくり、Perlを使ってCGIプログラムもアップしています。しかし、CGIプログラムは動いているのですが、cgi-binの中に入っているフォルダのgifファイルやindex.htmのファイルが表示されません。何が原因でしょうか。。 設定は特にいじってないです。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
フォルダcgi-binが、ディレクティブScriptAliasで指定されているなら、そこにあるファイルは全てCGIプログラムとみなされますので、実行権限の無いファイルは許されません。そして、たんなるHTMLファイルやimgファイルに実行権限を付けても、実行したらInternal Server Errorになるだけです。 ――っていう話でがない?
その他の回答 (1)
- benny12
- ベストアンサー率46% (27/58)
回答No.2
原因は#1さんがおっしゃっている通りだと思います。 画像やhtmファイルを正常に表示するには、画像やhtmファイルはホームページ用ディレクトリ内に移動してください。そして、そのCGIファイル内の画像ファイルへの パス指定を、画像ファイルを移動したホームページ用ディレクトリへのパスに変更する必要があります。 あと、cgi-binディレクトリに保存した画像やhtmファイルは、別のwindowsなどのマシンからFTPなどで転送したのでしょうか? もしそうであれば、cgiプログラムはASCIIモードで転送したはずなので、画像ファイルやhtmファイルは バイナリモードで転送しないといけないので、転送し直した方がいいです。
質問者
お礼
ご回答、ありがとうございました。 返事が遅くなりすみません。 osamuyさん宛にお礼が書けなくなってしまいましたが、 osamuyさんもありがとうございました。
お礼
>ディレクティブScriptAliasで指定されているなら とはどうゆう意味でしょうか? 指定されていなければどうなるのでしょうか? CGIプログラムは動かないけど、htmlファイルは表示されるということですか?
補足
そうなんですか。。 でも、よくCGIのサンプル集を見ると、gifファイルがcgi-binの中に入っていたりして、CGIプログラムの中で、そのgifを表示させようとしています。 私はいつもそれをやろうとすると、gifのところが表示されない状態になってしまいます。 cgi-binの中のgifを表示させる方法はありますか?