nginx:
例:现在google首页点击广告 www.abc.com 跳转到www.baidu.com,但是直接在浏览器输入www.abc.com,还是www.abc.com
在nginx.conf的虚拟目录配置里加入:
valid_referers none blocked localhost *.abc.com abc.com;
if ($invalid_referer){
rewrite ^/(.*) http://www.baidu.com/? permanent;
break;
}
上面解释一下,是判断来源网站,但是排除他自己,除了他自己以外,其他网站来源的,一律跳转到www.baidu.com.
如下图
apache 实现方法:
还是上面的例子,通过google点击abc.com 跳转到www.baidu.com
在站点主目录下创建 .htaccess文件,并打开apache rewrite选项。在.htaccess文件里加入以下代码:
Options +FollowSymlinks
RewriteEngine on
rewritecond %{QUERY_STRING} id=1 [nc]
RewriteCond %{HTTP_REFERER} google.com [nc]
rewriterule ^index.php$ http://www.baidu.com.net/? [r=301,nc]
解释一下,id=1 是访问的页面,例如 www.abc.com/index.php?id=1 这样的格式,如果index.php后面不是那个的话,可以加入其他的,或者直接根跳。
好了,原理就是这样。