如何在允许嵌入的同时对直接图像访问进行htaccess重定向

时间:2010-11-30 18:31:59

标签: apache .htaccess redirect

场景看起来像这样,说我有一个包含一些图像的网站。我想允许人们将它们嵌入到他们的网站上,但我还想在任何人试图直接访问图像时重定向。

一个选项就是这个

RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^http://(www\.)?imgzzz.com/.*$ [NC]
RewriteRule i/image_(\d+)\.(jpg|gif) - [F]

会拒绝从网站以外的任何地方进行访问,但这不允许嵌入图片。

第二个选项是省略第二个RewriteCond只留下

RewriteCond %{HTTP_REFERER} !^$
RewriteRule i/image_(\d+)\.(jpg|gif) - [F]

允许嵌入,但如果用户从书签以外的任何地方进行传输,用户仍然可以访问该图像。

有没有办法让嵌入可用,同时重定向直接访问图片?

2 个答案:

答案 0 :(得分:2)

这是一个解决方案

RewriteCond %{HTTP_REFERER} !^http://(www\.)?imgzzz.com/.*$ [NC]
RewriteRule i/image_(\d+)\.(jpg|jpeg|gif) pic/$1 [L]

答案 1 :(得分:1)

没有。它只是对URI的请求,无论是页面的一部分还是直接访问,服务器都可以看到完全没有区别。

We-e-ell,好吧,我想你理论上也许可以用php&做一些疯狂的hackery javascript,但我看不出它值得麻烦,它也不可靠。然后,这只是一个请求,你无法辨别它是如何起源的。它也破坏了一些人浏览的方式,即喜欢在新窗口中打开图像的人。我想我知道你想要实现什么(而不是图像,你想要提供一个带有一些数据和图像的页面,以使内容和你的网站更具可见性),我倾向于同意这是一个有效的想法,但图像搜索引擎已经做了这些事情。

如果我必须选择,我会选择第二个选项,它允许正常浏览,并禁止外部链接到图像。