左梓惠 发表于 2018-4-19 16:30:42

nginx 判断来源跳转到其他网站

nginx 判断来源跳转到其他网站
公司在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
RewriteCond %{HTTP_REFERER} google.com
rewriterule ^index.php$http://www.baidu.com.net/? 解释一下,id=1 是访问的页面,例如 www.abc.com/index.php?id=1 这样的格式,如果index.php后面不是那个的话,可以加入其他的,或者直接根跳。

页: [1]
查看完整版本: nginx 判断来源跳转到其他网站