Apache 如何在允许嵌入的同时使htaccess在直接映像访问时重定向

Apache 如何在允许嵌入的同时使htaccess在直接映像访问时重定向,apache,.htaccess,redirect,Apache,.htaccess,Redirect,场景是这样的,假设我有一个包含一些图像的网站。我想让人们在他们的网站上嵌入它们,但我也想在任何人试图直接访问图像时重定向 一个选择是这样 RewriteCond %{HTTP_REFERER} !^$ RewriteCond %{HTTP_REFERER} !^http://(www\.)?imgzzz.com/.*$ [NC] RewriteRule i/image_(\d+)\.(jpg|gif) - [F] 这将拒绝从网站以外的任何地方访问,但不允许嵌入图像 第二个选项是只留下第二个Re

场景是这样的,假设我有一个包含一些图像的网站。我想让人们在他们的网站上嵌入它们,但我也想在任何人试图直接访问图像时重定向

一个选择是这样

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]
这允许嵌入,但用户仍然可以访问图像,如果他是从任何其他地方而不是书签提交


有没有办法使嵌入可用,同时在直接访问图像时执行重定向?没有。这只是对URI的请求,无论它是页面的一部分还是被直接访问,服务器都看不到任何区别

We-e-ell,好吧,我想理论上你可以用php和javascript做一些疯狂的黑客操作,但我认为这不值得这么麻烦,而且也不可靠。再说一遍,这只是一个请求,你无法辨别它是如何产生的。这也会打乱一些人的浏览方式,即喜欢在新windows&c中打开图像的人。我想我知道你想要实现什么(而不是一个图像,你希望在一个页面上提供一些数据和图像,让内容和你的网站更具可视性),我倾向于同意这是一个有效的想法,但图像搜索引擎已经做了这些事情

如果我必须选择,我会选择第二个选项,它足够允许正常浏览,并且不允许图像的外部链接。

这里有一个解决方案

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