• ベストアンサー

Linuxサーバーのcgi-binの中のgifやindex.htmが表示されない

RedHat Linux9でWebサーバーをつくり、Perlを使ってCGIプログラムもアップしています。しかし、CGIプログラムは動いているのですが、cgi-binの中に入っているフォルダのgifファイルやindex.htmのファイルが表示されません。何が原因でしょうか。。 設定は特にいじってないです。

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

  • ベストアンサー
  • osamuy
  • ベストアンサー率42% (1231/2878)
回答No.1

フォルダcgi-binが、ディレクティブScriptAliasで指定されているなら、そこにあるファイルは全てCGIプログラムとみなされますので、実行権限の無いファイルは許されません。そして、たんなるHTMLファイルやimgファイルに実行権限を付けても、実行したらInternal Server Errorになるだけです。 ――っていう話でがない?

ponsuke777
質問者

お礼

>ディレクティブScriptAliasで指定されているなら とはどうゆう意味でしょうか? 指定されていなければどうなるのでしょうか? CGIプログラムは動かないけど、htmlファイルは表示されるということですか?

ponsuke777
質問者

補足

そうなんですか。。 でも、よくCGIのサンプル集を見ると、gifファイルがcgi-binの中に入っていたりして、CGIプログラムの中で、そのgifを表示させようとしています。 私はいつもそれをやろうとすると、gifのところが表示されない状態になってしまいます。 cgi-binの中のgifを表示させる方法はありますか?

その他の回答 (1)

  • benny12
  • ベストアンサー率46% (27/58)
回答No.2

原因は#1さんがおっしゃっている通りだと思います。 画像やhtmファイルを正常に表示するには、画像やhtmファイルはホームページ用ディレクトリ内に移動してください。そして、そのCGIファイル内の画像ファイルへの パス指定を、画像ファイルを移動したホームページ用ディレクトリへのパスに変更する必要があります。 あと、cgi-binディレクトリに保存した画像やhtmファイルは、別のwindowsなどのマシンからFTPなどで転送したのでしょうか? もしそうであれば、cgiプログラムはASCIIモードで転送したはずなので、画像ファイルやhtmファイルは バイナリモードで転送しないといけないので、転送し直した方がいいです。

ponsuke777
質問者

お礼

ご回答、ありがとうございました。 返事が遅くなりすみません。 osamuyさん宛にお礼が書けなくなってしまいましたが、 osamuyさんもありがとうございました。

関連するQ&A