如果引用不是来自同一页面,则重定向某些请求?

时间:2010-01-30 22:41:22

标签: apache mod-rewrite redirect

我很确定以前曾经问过,但我不能为我的生活找到任何东西。

我的客户有很多页面,我们今天向公众开放。 由于与这些网页相关联的图片网址仍然有效(网页必须继续在内部可见以进行维护),因此该网页显然仍然可以从Google缓存中完全看到,这可以理解地让我的客户端烦恼。

我想使用mod_rewrite指令修复此问题,403'ing或404'对该图像目录的任何请求没有以该站点的域开头的REFERER(即通过缓存中的页面进行热链接) )。

更新:这对我有用!

RewriteCond %{REQUEST_URI} ^/imagedir
RewriteCond %{HTTP_REFERER} !^http://(www\.)?domain\.com [NC]
RewriteRule .*  - [F,L]

1 个答案:

答案 0 :(得分:0)

HTTP_REFERER标头经常被安全软件和代理过滤掉,因为它被视为隐私问题。在继续之前,检查日志并查看设置了HTTP_REFERER的请求的百分比,并在继续之前进行影响分析。

您可以使用robots.txt更改Google的行为,还可以使用缓存控制。它可能需要一段时间才能超出索引范围。下次有“广告系列”时使用此方式,您所遇到的问题不会再次发生: - )

http://www.robotstxt.org/


答案在stackoverflow的姐妹网站上:

https://serverfault.com/questions/71020/modrewrite-how-do-i-check-the-httpreferers-querystring