.htaccess允许嵌入但重定向直接图像加载

时间:2013-07-20 22:05:40

标签: image .htaccess redirect

现在我想重定向打开嵌入其他网站的直接图片的用户。

livememe通过将http://www.livememe.com/36opcf5.jpg重定向到http://www.livememe.com/36opcf5来完美实现这一点,即使直接图片网址嵌入到其他网站中也是如此。

现在我正在努力完成同样的事情,这就是我到目前为止所做的事情:

RewriteEngine on
RewriteCond %{HTTP_REFERER} !^http(s)?://(www\.)?reddit.com/.*$ [NC]
RewriteCond %{HTTP_REFERER} !^http(s)?://(www\.)?tumblr.com/.*$ [NC]
RewriteCond %{HTTP_REFERER} !^http(s)?://(www\.)?facebook.com/.*$ [NC]
RewriteCond %{HTTP_REFERER} !^http(s)?://(www\.)?mysite.com/.*$ [NC]
RewriteCond %{HTTP_REFERER} ^$ 
RewriteRule ^i/([a-zA-Z0-9]+)\.(jpe?g|JPE?G)$ /r/$1 [R]

根据我的理解,我允许这些网站将我的图片嵌入他们的网站,但是如果他们直接访问网址而没有被引用,我会重定向他们。

例如,在我的网站上,我的图片位置如下:http://mysite.com/i/0b1be.JPG

文章位于:http://mysite.com/r/0b1be

重定向有效,但我仍然失败,因为如果你从任何允许的网站上关注它,你仍然可以访问直接图像。

1 个答案:

答案 0 :(得分:0)

您可以尝试以下代码:

RewriteEngine on
RewriteCond %{HTTP_REFERER} ^https?://(www\.)?(reddit|tumblr|facebook|mysite).com/.*$ [NC]
RewriteRule ^i/([a-zA-Z0-9]+)\.(jpe?g|JPE?G)$ /r/$1 [R]