- ベストアンサー
apache2.2で画像が表示されません。
webサーバーをたて、HPを作ろうとしているのですが、テンプレート中で読んでいる画像が表示されません。 apache2.2でhtmlファイルで<img src="パス">で読んでいるだけなのですがブラウザで表示されません。 パスの設定ミス意外で表示できない理由は何かあるのでしょうか? ご教授のほどお願い致します。
- みんなの回答 (6)
- 専門家の回答
質問者が選んだベストアンサー
ScriptAlias を指定したディレクトリで AddHandler で画像ファイルを読み込めるよう にするのと逆ですが、ディレクトリに ScriptAlias を指定しないで AddHandler で CGI を実行するようにすれば画像ファイルの読み込みに影響しないように思うのですが? <Directory /home/httpd/html/cgi> ... Options +ExecCGI AddHandler cgi-script .cgi ... </Directory>
その他の回答 (5)
- kumoz
- ベストアンサー率64% (120/185)
No3 の補足のログを見ると、画像ファイルがスクリプトファイルとして認識されている ようです。ドキュメントルートを ScriptAlias に指定してあるのでしょうか? ドキュメントルートを ScriptAlias から外すか、<Directory /home/httpd/html> (または 相当するディレクトリ) 内に AddHandler image/gif .gif のような行を追加すれば画像を 表示するようになると思います。
- kumoz
- ベストアンサー率64% (120/185)
Apache では、デフォルトで CGI ルート以下に画像ファイルを置けない設定になっていると 思います。画像ファイルがドキュメントルート以下に置いてあるか確認してみてください。 私の使っている Apache 1.3.33 では /home/httpd/html 以下に置いた画像ファイルを表示で きますが、/home/httpd/cgi-bin 以下に置いた画像ファイルを表示することができません。 なお、/home/httpd/cgi-bin 以下に置いた画像ファイルを表示しようとすると、 /var/log/httpd/error_log に次のようなログが残されます。 file permissions deny server execution: /home/httpd/cgi-bin/.../xxx.gif
お礼
回答ありがとうございます。 やはりそうですか。 実際にドキュメントルートの下にあります。 この場合エイリアスの設定で回避できるのでしょうか?
- 小田 力(@ricky-oda)
- ベストアンサー率55% (46/83)
ブラウザ側で該当ページの表示を「更新」した場合に サーバー側のアクセスログ(/var/log/httpd/access_log)には 具体的にはどのようなログが表示されてますか? ログを見せてください.
補足
ログはこんな感じです。 (8)Exec format error: exec of '/パス/○○○.jpg' failed, referer: http://リクエスト こんな感じです。
- Murasan759
- ベストアンサー率59% (312/527)
localhostから見ても表示されませんか?これで表示されるなら、パスの設定ミスだと思います。 あと、見落としがちな単純なミスとして、ファイル名の大文字小文字が間違っていたり、単に画像のアップロードを忘れていたりしませんか?
補足
ご解答ありがとうございます。 パスはフルパスでも書きましたし、色々試したので間違いないはずです。 ファイル名も間違っておらず、実際にファイルも存在します。
- 小田 力(@ricky-oda)
- ベストアンサー率55% (46/83)
apache が起動していることは確認済みですか? 画像以外の表示(例えばテキスト,リンクなど)は出来ているのですか? 何も表示されないのであれば,ディレクティブ DocumentRoot あたりを疑いましょう. 画像のみが表示されないのであれば,ログを見れば原因が掴めると思います. いずれにしろ,質問内容が情報不足です. どこまで出来ていて,どこで躓いているのかを明らかにしましょう. 参考図書 「Apacheハンドブック第3版」O'REILLY社 ISBN4-87311-150-1 \4,600
補足
説明不足申し訳ありません。 画像以外は普通に表示できます。 tail -f でログを見てもエラーログはありません。
補足
回答ありがとうございます。 そのような処理をしているのですが、なかなかうまくいきません。 ドキュメントルートをScriptAliasに指定はしていないのですが、強制的にあるcgiを通すようにしています。 なのでgifもおそらくそのcgiを通ってcgiとして認識されエラーとして吐き出されているものと思います。 何かいい方法はないものでしょうか?