场景看起来像这样,说我有一个包含一些图像的网站。我想允许人们将它们嵌入到他们的网站上,但我还想在任何人试图直接访问图像时重定向。
一个选项就是这个
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]
允许嵌入,但如果用户从书签以外的任何地方进行传输,用户仍然可以访问该图像。
有没有办法让嵌入可用,同时重定向直接访问图片?
答案 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,但我看不出它值得麻烦,它也不可靠。然后,这只是一个请求,你无法辨别它是如何起源的。它也破坏了一些人浏览的方式,即喜欢在新窗口中打开图像的人。我想我知道你想要实现什么(而不是图像,你想要提供一个带有一些数据和图像的页面,以使内容和你的网站更具可见性),我倾向于同意这是一个有效的想法,但图像搜索引擎已经做了这些事情。
如果我必须选择,我会选择第二个选项,它允许正常浏览,并禁止外部链接到图像。