作者:姜漂亮真可爱w0 | 来源:互联网 | 2014-05-28 09:40
公司在google上投广告,需要做一些很简单的站去google上投广告,当用户在google上点击那些很简单的网站的时候,就会跳转到真实的网站。但是,如果用户直接在浏览器输入域名,并访问的话,那样就不跳转,这样的情况是怎么实现的呢,今天我在这分别解释一下ngin
公司在google上投广告,需要做一些很简单的站去google上投广告,当用户在google上点击那些很简单的网站的时候,就会跳转到真实的网站。但是,如果用户直接在浏览器输入域名,并访问的话,那样就不跳转,这样的情况是怎么实现的呢,今天我在这分别解释一下
nginx和apache的实现方法。
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后面不是那个的话,可以加入其他的,或者直接根跳。
好了,原理就是这样。