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

2015-9-24 / 16 评论 技术文章 / Mrxn

本文共计 876 字,感谢您的耐心浏览与评论.

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 运维

转载:转载请注明原文链接 - NginxRewrite规则判断普通用户与搜索引擎爬虫(UA)实现https跳转


16条回应:“NginxRewrite规则判断普通用户与搜索引擎爬虫(UA)实现https跳转”

  1. 真的不错,要收藏备用。

  2. 安安博客

    技术大神

  3. 只要一点一下就会出现+多少的现象是怎么回事儿?

  4. 你好 你的模板自己写的还是哪来的?是付费的吗?

  5. 以后肯定会普及,现在只是暂时的

  6. https的普及是早晚的事。

  7. 分卷机械设备

    支持一下!嘻嘻


发表评论

{view_code_no}