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 实现方法: 在站点主目录下创建 .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]
复制代码如果index.php后面不是那个的话,可以加入其他的,或者直接根跳。
|