4

私はApacheを使用しており、「images/sample.jpg」にファイルがあるとしましょう。

  • .htaccessを使用して、Web サイトに表示させ、URL による直接アクセスを防ぐにはどうすればよいですか(たとえば、「http://www.abc.com/images/sample.jpg」のような直接 URL )。

  • 可能であれば、ソリューションが「.htaccess」ファイルの下のすべてのサブフォルダーにも影響するようにしたいと考えています。


追加の注記:
回答を下回ってから 1 日後、すべてのソリューションが論理的に機能することがわかりましたが、Firefox に問題があります。つまり、以下の回答は、Firefox ではなく、すべてのブラウザーでテストしながら解決策を提供しています。

4

5 に答える 5

3

これは「ホットリンク」と呼ばれます - .htaccess には 1 行または 2 つのコード以上のものがあるため、最初に読むことをお勧めします。このページはまともです: http://altlab.com/htaccess_tutorial.html

RewriteEngine On
RewriteCond %{HTTP_REFERER} !^http://(.+\.)?mysite\.com/ [NC]
RewriteCond %{HTTP_REFERER} !^$
RewriteRule .*\.(jpe?g|gif|bmp|png)$ http://i.imgur.com/qX4w7.gif [L]

これは imgur からの画像を表示しますが、私は時々さらに進んで、自分のホストから別の画像をホストするのが好きです。

于 2012-04-19T19:46:55.017 に答える
1

ホットリンクを防止するには、次のコード チャンクを使用します。

RewriteEngine on 
RewriteCond %{HTTP_REFERER} !^http://(www\.)?mydomain.com [NC] 
RewriteCond %{HTTP_REFERER} !^http://(www\.)?mydomain.com.*$ [NC] 
RewriteRule \.(gif|jpg)$ - [F]

これはあなたを助けることができます: http://www.selfseo.com/story-18469.php

于 2012-04-19T19:50:09.033 に答える
1

画像のホットリンクを防止するために、.htaccess ルールよりも多くのことが行われています。ただし、画像のホットリンクを防ぐために htaccess に必要な基本は次のとおりです。

RewriteCond %{HTTP_REFERER} !^http://(www\.)?example.com/.*$      [NC]
RewriteRule .*\.(jpg|jpeg|png|bmp)$ - [F,NC]

Apache ReWrite ガイド

于 2012-04-19T20:47:37.467 に答える
1

あなたのコメントに基づいて、これが必要なもののように見えます:

RewriteCond %{HTTP_REFERER} !^http://(www\.)?localhost/ [NC] 
RewriteRule \.(jpe?g|gif|bmp|png)$ - [F,NC]

ローカルホストでテストしましたが、問題なく動作しているようです。

于 2012-04-19T20:47:54.527 に答える
1

完全にはわかりませんが、これはあなたを導くはずです:

RewriteEngine on
RewriteCond %{HTTP_REFERER} !^http://(.+\.)?mysite\.com/ [NC]
RewriteRule (images/sample.jpg)$ - [R=404,L]
于 2012-04-19T19:50:55.873 に答える