«

NginxRewrite规则判断普通用户与搜索引擎爬虫(UA)实现https跳转

时间:2015-9-24 21:26     作者:admin     分类: 技术文章


nginx.jpg

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

000039-2015-09-24.jpg

具体的代码如下(复制吧-骚年):



server {
listen 80;
server_name mrxn.net mrxn.net;
set $flag 0;
if ($host != 'mrxn.net') {
 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://mrxn.net/$1 redirect;
}
error_page 497 https://mrxn.net$request_uri;

}



这段规则具体作用是:将国内部分对https支持不好的搜索引擎蜘蛛定向到http页面,将普通用户和其他搜索引擎定向到https页面(谷歌更喜欢https站点)。


相关文章:

一段代码让nginx实现网站资源防盗链

nginx配置location总结及rewrite规则写法

nginx配置ssl加密(单双向认证、部分https)

NginxRewrite规则判断普通用户与搜索引擎爬虫(UA)实现https跳转

SSL/TLS原理详解

OpenSSL 与 SSL 数字证书概念贴

基于OpenSSL自建CA和颁发SSL证书


原文属于博友创造:https://tmy123.com/user-agent.html

标签: ssl https nginx vps 运维

版权所有:Mrxn's Blog
文章标题:NginxRewrite规则判断普通用户与搜索引擎爬虫(UA)实现https跳转
除非注明,文章均为 Mrxn's Blog 原创,请勿用于任何商业用途,转载请注明作者和出处 Mrxn's Blog

扫描二维码,在手机上阅读

推荐阅读:

评论:
avatar
李明 2015-10-08 09:57
真的不错,要收藏备用。
commentator
Mrxn 2015-10-08 14:28
@李明:嗯嗯 O(∩_∩)O谢谢
avatar
安安博客 2015-10-08 08:09
我就是一技术盲
commentator
Mrxn 2015-10-08 14:28
@安安博客:额 慢慢成长
avatar
安安博客 2015-10-05 17:53
技术大神
commentator
Mrxn 2015-10-05 17:56
@安安博客:(⊙o⊙)…  过奖了
avatar
晚装包 2015-10-05 16:23
只要一点一下就会出现+多少的现象是怎么回事儿?
commentator
Mrxn 2015-10-05 17:53
@晚装包:js特效 鼠标点击事件
avatar
张旭 2015-10-04 14:28
你好 你的模板自己写的还是哪来的?是付费的吗?
commentator
Mrxn 2015-10-05 15:14
@张旭:自己DIY的收费模板 地址 http://www.emlog.net/template/613
avatar
吃过没 2015-10-01 18:57
以后肯定会普及,现在只是暂时的
commentator
Mrxn 2015-10-02 07:41
@吃过没:是的
avatar
wys.me 2015-09-28 15:37
https的普及是早晚的事。
commentator
Mrxn 2015-09-28 15:39
@wys.me:嗯嗯 是的 确实是早晚的事
avatar
分卷机械设备 2015-09-26 09:53
支持一下!嘻嘻
commentator
Mrxn 2015-09-26 10:29
@分卷机械设备:谢谢