Tips記事
» 2002年05月08日 00時00分 UPDATE

/cgi-bin/ディレクトリ下に画像を置くとForbiddenになってしまう

[木田佳克,ITmedia]

 Perlスクリプトなどを/cgi-bin/下に設置する場合,物によってはスクリプトと参照される画像をいっしょのディレクトリに置きたくなるだろう。しかし,Apacheの標準設定では,http://www.exmple.com/cgi-bin/test.gifなどとして画像を表示させようとしてもエラーになってしまう。

 Apacheの設定ファイル(httpd.conf)内の「ScriptAlias」で指定したディレクトリ下のファイルは,すべて実行ファイルとして扱われるためだ。このため,通常は画像をドキュメントルート下のimages/ディレクトリなどに置くのが決まりとなっている。Perlスクリプトからは「/images/test.gif」などと指定するのが好ましい。

 しかし,Perlスクリプトの編集をしたくない場合には,次のように実体ファイルはドキュメントルート下に置きつつ,cgi-bin/ディレクトリ下にシンボリックリンクを作っておけばよいだろう。

# ln -s /var/www/html/images/test.gif /var/www/cgi-bin/test.gif

Copyright © ITmedia, Inc. All Rights Reserved.

注目のテーマ