2012-03-27 11 views
1

イメージを特定のWebページにリダイレクトするためのこのリライトを表示しました。また、私のサイトや他のサイトで画像を使用することもできます。.htaccess:Image Redirect

RewriteCond %{HTTP_REFERER} ^$ 
RewriteCond %{REQUEST_URI} ^/uploads/(\d+)-(.+)\.(png|gif|jpe?g|bmp)$ [NC] 
RewriteRule (.*) http://www.sitename.com/view/%1-%2/ 

私は直接アドレスバーからの画像にアクセスしようと、私は現在、私のサイトを見てる場合、これは素晴らしい作品。それがないページに、その画像にそれらを取るでしょう

<a href="http://www.sitename.com/uploads/123-Charizard.png">Click</a> 

:ユーザーが別のサイトにリンクを書き出す場合、私は気づいています問題があります。

ユーザーが/ view/pageにリダイレクトされるように、変更内容を変更する必要があります。

EDIT:私が気づいたもう一つのことは、上記の書き換えを使ってFacebookに画像を投稿するときにサムネイルを表示しないことです。私はこれが回避できないものだと仮定していますか?

答えて

0
RewriteCond %{HTTP_REFERER} ^$ [OR] 
RewriteCond %{HTTP_REFERER} !^http://domain.com 
RewriteCond %{REQUEST_URI} ^/uploads/(\d+)-(.+)\.(png|gif|jpe?g|bmp)$ [NC] 
RewriteRule (.*) http://domain.com/view/%1-%2/ 

用防ぐキャッシング:

私は直接画像にアクセスしたときに何が起こる
<filesMatch "\.(png|jpeg|jpg|gif)$"> 
Header unset ETag 
Header set Cache-Control "max-age=0, no-cache, no-store, must-revalidate" 
Header set Pragma "no-cache" 
Header set Expires "Wed, 11 Jan 1984 05:00:00 GMT" 
</filesMatch> 
+0

は(新しいウィンドウで、アドレスバーに貼り付けリンクを開く、行くヒット)は、それが画像に私を取ります。しかし、私が再びヒットすると、/ view/pageにリダイレクトされます。どうすれば最初にリダイレクトすることができますか? – Aaron

+0

初めてブラウザはキャッシュから画像をロードするので、 'cache-control-を追加する以外は何もできませんが、使用帯域が増えます! – undone

+0

これを追加するにはどうすればよいですか?そしてそれはどれくらい私のbadwidthを増やすのですか? – Aaron