2012-05-22 74 views
0

我有一个图像/视频托管网站。喜欢imgur。我得到的许多'链接果汁'来自直接链接到图像的人。我不喜欢这个。我希望那些登陆这些图片的人被重定向到图片所在的实际页面。将链接的图像重定向到内容页面

现在的结构如下:

http://www.funzors.com/uploads/images/225.jpg < - 图像

http://www.funzors.com/media/225-pull-up-your-pants/ < - 内容页。

这是明智的吗?如果是这样,我怎么用htaccess来做到这一点?我的猜测:

  • 检查引荐心不是funzors.com,并检查它不是谷歌(不需要谷歌不喜欢我的重定向)
  • 没有重定向状态代码的内容页面。
  • 检查,如果人们不喜欢这个

预先感谢您。

回答

0

把它放在/ uploads/images文件夹中的htaccess中。

RewriteEngine On 
RewriteBase /uploads/images 
RewriteCond %{HTTP_REFERER} !funzors\.com 
RewriteCond %{HTTP_REFERER} !google\. 
RewriteCond %{HTTP_REFERER} !^$ 
RewriteRule ^225\.jpg$ /media/225-pull-up-your-pants/ [R,L] 

这将重定向IFF:引用者不包含funzors.com不含google.(注意我没有指定的顶级域名,因为它是不同不同国家)引用者不为空(一些代理和软件删除引用,也googlebot不发送引用)

+0

感谢Gerben,但这是一种硬代码。你可以分享一个通用代码吗,比如将所有'/ uploads/images/SOME_IMAGE_NAME.png'重定向到'/ media/SOME_IMAGE_NAME'。意味着一个适用于“SOME_IMAGE_NAME”中所有变体的代码。 – XIMRX

+0

@XIMRX将最后一行更改为'RewriteRule(。*)\。png $/media/$ 1',以匹配带有'png'扩展名的所有文件。 – Gerben

0

浏览器正在等待图像,因为图像使用类似<img src="http://www.funzors.com/uploads/images/225.jpg" />的东西而被盗链。因此,如果浏览器使用html而不是jpeg数据,它将只显示破碎的图像图标,或者根本不显示图像。

您可以将其重定向到另一个包含网站“广告”的图片。你可以使它成为一个非常大的图像,所以在链接网站上的所有其他内容被推到屏幕上:-) 你甚至可以创建一个不错的gif或什么

至于引用者。嵌入图像的引用是它所在页面的URL,因此它与页面本身的引用者不一样。如果你想在你的网站上进行图片搜索,你也应该允许google/yahoo/etc等。我不认为谷歌的抓取工具发送referer头文件,所以bot聪明,你很好。

+0

我实际上是指当有人链接到一个IMG,他们正在看图像http://www.funzors.com/uploads/images /225.jpg在他们的地址栏中。 – WiseStrawberry

+0

这不叫做热链接。这只是普通的正常链接。 – Gerben

+0

是的。我会编辑我的问题。 – WiseStrawberry

相关问题