请在Chrome、Firefox等现代浏览器浏览本站。记住我们的域名:tmy123.com   加入本站QQ群,大家一起HIGH:点击加入QQ群

一段NginxRewrite规则判断普通用户与搜索引擎爬虫(UA)

VPS运维 Jophen 俞 2338℃ 已收录 6评论

nginx

 

前段时间写了一篇关于给博客安装证书加密访问的文章,在站长平台,百度说支持https,一个月后发现网站的流量排名跌成了狗,为了逼格保留这个https,又为了不和百度做对,查阅相关资料后选择用user_agent来解决,nginx本身就能判断UA,以下代码供大家参考,添加到nginxRewrite配置文件里即可,域名换成自己的。

set $flag 0;
if ($host != 'tmy123.com') {
 set $flag 1;
}
if ($server_port = 80) {
 set $flag 1;
}
if ($scheme = http) {
 set $flag 1;
}
if ($http_user_agent ~* (baiduspider|soso|sogou|yahoo|sohu-search|yodao|YoudaoBot|robozilla|msnbot|MJ12bot|NHN|Twiceler)){
 set $flag 2;
}
if ($flag = 1){
 rewrite ^/(.*)$ https://cdn.tmy123.com/$1 redirect;
}
error_page 497 https://cdn.tmy123.com$request_uri;
这段规则具体作用是:将国内部分对https支持不好的搜索引擎蜘蛛定向到http页面,将普通用户和其他搜索引擎定向到https页面(谷歌更喜欢https站点)。
本站文章如未注明,均为原创丨本网站采用BY-NC-SA协议进行授权,转载请注明转自:https://tmy123.com/user-agent.html
喜欢 (3)
发表我的评论
取消评论
表情 代码 加粗 链接 私信 删除线 签到

Hi,请填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址
(6)条精彩评论。
  1. 逛逛。。。
    佛山窗帘厂家2015年-09月-26日发表回复| Google Chrome 42.0.2311.152| Windows 10 x64
  2. 和百度做对,那就是自找死路咯。
    学史博客2015年-09月-24日发表回复| Google Chrome 39.0.2171.99| Windows 7
    • 所以,煞费苦心想出这个方法
      Jophen 俞2015年-09月-26日发表回复| Google Chrome 45.0.2454.85| Windows 10 x64
  3. 不错的思路
    科学上网2015年-09月-12日发表回复| Google Chrome 42.0.2311.152| Windows 7 x64
  4. 直接2种都支持就行呀
    harries2015年-09月-11日发表回复| Google Chrome 44.0.2403.89| Windows 8 x64
  5. 不错 长知识了!
    mrxn2015年-09月-06日发表回复| Google Chrome 42.0.2311.152| Windows 7 x64