2

修正してお知らせください。私の問題は、.htaccess ホットリンク保護が機能しないことです。.htaccess をサポートする共有サーバーを使用しています。(SEO フレンドリーなリンクが機能します)

私のドメイン タイプは、http://www.mydomain.p.htまたはhttp://mydomain.p.ht

私のトライアルの 2 つのソースは次のとおりです。

  1. http://www.htaccesstools.com/hotlink-protection/
  2. スタックオーバーフロー

mydomain本当のドメインに置き換えることを忘れていませんでした

私の.htaccess

RewriteEngine On
RewriteBase /

# hotlink protection
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^http(s)?://(www\.)?mydomain.p.ht [NC]
RewriteRule \.(jpg|jpeg|png|gif|css)$ - [NC,F,L]

# compress text, html, javascript, css, xml:
AddOutputFilterByType DEFLATE text/plain
AddOutputFilterByType DEFLATE text/html
AddOutputFilterByType DEFLATE text/xml
AddOutputFilterByType DEFLATE text/css
AddOutputFilterByType DEFLATE application/xml
AddOutputFilterByType DEFLATE application/xhtml+xml
AddOutputFilterByType DEFLATE application/rss+xml
AddOutputFilterByType DEFLATE application/javascript
AddOutputFilterByType DEFLATE application/x-javascript

# File caching is another famous approach in optimizing website loading time
<FilesMatch ".(flv|gif|jpg|jpeg|png|ico|swf|js|css|pdf)$">
Header set Cache-Control "max-age=2592000"
</FilesMatch>

#SEO friendly linking
...
...

私も試しました

1

RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^http(s)?://(www\.)?mydomain.p.ht [NC]
RewriteRule \.(flv)$ - [NC,F,L]

2

RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^http(s)?://(www\.)?mydomain\.p\.ht/.*$ [NC]
RewriteRule .*\.(jpg|jpeg|png|gif)$ - [F,NC,L]
4

1 に答える 1

1

あなたの方法は正しく、うまく機能しています。これらのファイルに対してキャッシュが有効になっているためhttp://htaccesstools.com/test-hotlink-protection、イメージのキャッシュされたスナップショットが表示されている可能性が最も高いです。本当にテストしたい場合は、ローカルホストまたはホスト以外のホストで html ファイルを作成し、次のmydomain.p.ht行を含めます (/images/home.gif` を実際の gif ファイルのパスに置き換えます):

<img border="0" src="http://mydomain.p.ht/images/home.gif">

画像がブラウザに表示されるかどうかを確認します。これを行っているときに Firbug ネットワーク タブを開いた場合、上の画像の Forbidden 403 ステータスが表示されます。

于 2013-04-02T13:26:25.283 に答える