アンチホットリンク Web サイトの写真は、その名前が示すように、外部の Web サイトが当社の Web サイトから写真を盗むのを防ぎ、他の人が当社の Web サイトの写真を他のブログやスペース Web サイトに投稿して、訪問者が当社の Web サイトにアクセスできないようにすることです。ただし、それでも Web サイトのスペースのトラフィックを消費します。これはとても不愉快なことではありませんか?それでは、.htaccess を使用して、他の人が Web サイト上の画像をホットリンクするのを防ぐ方法を見てみましょう。
.htaccess のルールを理解していれば、.htaccess を使用して画像のホットリンクを防ぐのは実際には非常に簡単です。必要な作業は 1 つの文だけです。以下に完全な例を見てみましょう:
リーリー以下は上記のコードの詳細な説明です:
リライトエンジンオン
URL 書き換えエンジン スイッチをオフに設定すると、書き換えルール定義が適用されなくなります。このスイッチのもう 1 つの利点は、書き換えルールを一時的に削除したい場合に、オフに変更して Apache を再起動できることです。以下の書き換えルールをコメントアウトする必要はありません。なお、この記述はできるだけファイルの先頭行に記述してください。
RewriteBase/
このステートメントの影響は、以下の rewriterule 定義の書き換えられた部分です (ここではファイル名がindex.html)。先頭に / がない場合は、相対ディレクトリです。通常は、ルート ディレクトリを意味する / に直接設定されます。
空の「HTTP_REFERER」を介したアクセスを許可します。つまり、ユーザーがブラウザのアドレスバーに画像アドレスを直接入力すると、画像が表示されます。基本的には任意ですが、上記の設定を行うことを推奨します。強制的に「HTTP_REFERER」でアクセスすると、プロキシサーバー経由でアクセスする場合などに問題が発生する可能性があります。 RewriteCond %{HTTP_REFERER} !phpernote.com [NC] ここで設定するのは、当社の Web サイト、google.com、baidu.com、sogou.com、soso.com、youdao.com、yahoo.cn など、アクセスが許可される HTTP ソースです。これは、検索エンジンが当社の Web サイトの画像を正常にクロールできるようにするためでもあると考えられます。 RewriteRule .*.(gif|jpg|png|bmp)$ http://www.phpernote.com/change.gif [R,NC,L] OK、アンチホットリンクを設定するためのルールは次のとおりです。ここでの設定は、この Web サイトの jpg、gif、png、bmp、およびその他の画像ファイルをホットリンクしているすべての Web ページで、代わりにファイル http://www.phpernote.com/change.gif を表示するようにすることです。次の点に特別な注意を払う必要があります。置換されたイメージをホットリンク防止設定のあるディレクトリに配置したり、ホットリンク防止設定のあるディレクトリに含めたりしないでください。また、イメージのファイル サイズは小さいほど良いです。もちろん、置換画像を設定せず、以下のルールを使用することもできません。ホットリンクされた Web サイトの画像は空白のページとして表示されます。
RewriteCond %{HTTP_REFERER} !^$ [NC]
RewriteCond %{HTTP_REFERER} !google.com [NC]
RewriteCond %{HTTP_REFERER} !baidu.com [NC]
RewriteCond %{HTTP_REFERER} !sogou.com [NC]
RewriteCond %{HTTP_REFERER} !soso.com [NC]
RewriteCond %{HTTP_REFERER} !youdao.com [NC]
RewriteCond %{HTTP_REFERER} !yahoo.cn [NC]