2012-02-23 18 views
2
私はこの次のコードで絵をターゲットにする方法を思ったんだけど

使用:ホットリンク防止

RewriteCond %{HTTP_REFERER} !^$ 
RewriteCond %{HTTP_REFERER} !^http://dooomain.com/.*$  [NC] 
RewriteCond %{HTTP_REFERER} !^http://www.dooomain.com/.*$ [NC] 
RewriteRule .*.jpg$ -       [L] 

ない私はJPGファイルを挿入する必要がどこ本当に確認を!それはWebのルートフォルダにありますか?

おかげ

が更新#1

はOK、多分私は私の答えに何かを見つけましたが、私が間違っているかどうかわからないが、その人は私を修正してください...

はこちら私のメインポストの最後の行の代わりに追加するコード:

RewriteRule \.(gif|jpg)$ https://www.mydooomain.com/pic.gif [R,L] 

と私はthiのルートに画像を配置する必要がありますそれは正しいのですか?

ありがとうございました

答えて

4

上記の最後のルールは問題ありません。しかし、rewritecondは1行で実行できます。

RewriteCond %{HTTP_REFERER} !^(?:$|http://domain.com|http://www.domain.com) [NC] 
RewriteRule \.(gif|jpg)$ https://www.mydomain.com/pic.gif [R,L] 
+0

ありがとう@Thinking。それはとても役に立ちました。できるだけ早くそれを試みます。 –

+2

@Digitalsiteの場合、あなたは[R = 301、L]と考えるか、 'pic.gif'のExpiresがaccess plus plus 1 month minであることを確認してください。 – TerryE

+1

はい@TerryEは正しいです。 'R = 301'はすべてのリクエストではないにしても、いくつかを最小化します。 – ThinkingMonkey

0

私は同じ問題を抱えています。 リファラーに基づいてApacheルールを設定すると、パスするのが非常に簡単です: http://www.mustap.com/phpzone_post_62_how-to-bypass-the-referer-se もちろん、正しい選択ではありません。

は私のApacheのconfファイル:

<Directory /var/www/path> 
    Order allow,deny 
    Deny from all 
    Options -Indexes 
    # Check against the referer, first level check 
    SetEnvIf Referer domain1\.com domain1 
    SetEnvIf Referer domain1\.com domain2 
    <FilesMatch \.(jpg|jpeg|gif|png)$> 
     Order deny,allow 
     Deny from all 
     Allow from env=domain1 
     Allow from env=domain2 
    </FilesMatch> 
</Directory> 

基本的にすべてのファイルが画像しかブロックが、私はリファラチェックをバイパスシンプルなPHPファイルを作成しています。 アイデア?

+0

私はあなたのコードを書いていますか?サーバールートファイル**にあるはずです。htaccess ** –