【.htaccess】 画像の直リンク対策

ご注意

現在は、レンタルサーバーのチカッパは、同じ会社が運営している ロリポップ! の中のチカッパタイプになりました。

また、現在私は、さくらインターネットのレンタルサーバーを使用しています。
さくらのレンタルサーバ への移転についての情報は、下記ページをご覧ください。


【PHP】 さくらのレンタルサーバーについて 【DNS設定】


直リンクの中でも、画像の直リンクは「画像を沢山掲載しているサイト」や「素材屋さん」などのサイトの管理人が頭を悩ませる直リンクです。

ところが、このような画像の直リンクを防ぐ方法があります。
それが、「htaccessファイル」による直リンク対策です。

スポンサーリンク

htaccessファイルの記述内容

htaccessファイルの記述内容は以下の通りです。
http://●●\.△△\.■■の部分は、自サイトのアドレスが入ります。
(例: http://pc.user-infomation.com)


SetEnvIf Referer "^http://●●\.△△\.■■" ref01
order deny,allow
deny from all
allow from env=ref01


記述内容の最後の列の「改行」を忘れると作動しません。
昔は、この改行を忘れていたために、htaccessファイルを正常に作動させることが出来ず、数十分を無駄に過ごしました。
(というか、こんな程度のミスで数十分を無駄に・・・という自分の頭の悪さが・・・。orz)

尚、 私の契約しているレンタルサーバーの「 チカッパ!」では、オンラインマニュアルでhtaccessファイルの作動状態を確認できるので便利です。


htaccessファイルを置く場所

フォルダの階層

htaccessファイルを置く場所は、ブロックしたい「画像用のフォルダの一番上の階層」です。
例えば、左の図ような感じです。

画像専用フォルダの一番上の階層にhtaccessファイルを置いておくと、その下の階層まで全部反映してくれるっぽいです。

でも、サイトで使用している画像の一部分だけにhtaccessファイルの効果を適用させるのであれば、それ専用にフォルダを作っておいた方が無難かもしれません。


画像ファイルとHTMLファイルは別のフォルダに分けよう!

画像ファイルとHTMLファイルは別のフォルダに分けてサイト製作をしておなければ、htaccessで画像の直リンク対策をした時にマズイ事態が起こります。

これは、実際に管理人が犯したミスなのですが、HTMLファイルと画像ファイルを一緒のフォルダにまとめて置いておいたために、画像の入っているフォルダにhtaccessファイルを置いたらHTMLファイルまで見えなくなってしまったのです。

そんなわけで、致し方なく、htaccessファイルを設置するときに死ぬ気で画像ファイルとHTMLファイルを分離しました。(もちろん、ロゴを含めて、使用している画像を全部張りなおしです・・・。orz)

このようなことから、いざと言うときのために、画像ファイルとHTMLファイルは別のフォルダに分けて、サイト製作をしていくことが望ましいと思います。


スポンサーリンク