ngnix 电脑手机网站互相跳转,并识别蜘蛛不跳转

news/2024/7/19 10:23:51 标签: 爬虫, 后端, node.js, nginx

电脑版ngnix配置

#设置变量
set $mu '';
#判断是否是手机,如果是手机,则赋值mu为m
 if ( $http_user_agent ~ "^((.*UCWEB.*)|(.*WAP.*)|(.*Mini.*)|(.*iPhone.*)|(.*Android.*)|(.*mobile.*)|(java.*)|(.*BlackBerry.*))$"   ){
     set $mu m;
}
# 判断是否是蜘蛛,如果是蜘蛛,则在mu后添加u 
 if ($http_user_agent ~* (baiduspider|soso|sogou|yahoo|sohu-search|yodao|YoudaoBot|robozilla|msnbot|MJ12bot|NHN|Twiceler)){
    set $mu "${mu}u";
}
#根据需求判断跳转    m为手机  mu为移动蜘蛛 u为蜘蛛
if ( $mu = m) {
#跳转到指定地址
    rewrite  ^/(.*)$  https://m.baidu.com;
} 

手机版ngnix设置

set $pu '';
#判断是否是手机,如果是手机,则赋值mu为m
 if ( $http_user_agent !~ "^((.*UCWEB.*)|(.*WAP.*)|(.*Mini.*)|(.*iPhone.*)|(.*Android.*)|(.*mobile.*)|(java.*)|(.*BlackBerry.*))$"   ){
     set $pu p;
}
# 判断是否是蜘蛛,如果是蜘蛛,则在mu后添加u 
 if ($http_user_agent ~* (baiduspider|soso|sogou|yahoo|sohu-search|yodao|YoudaoBot|robozilla|msnbot|MJ12bot|NHN|Twiceler)){
    set $pu "${pu}u";
}
#根据需求判断跳转    p为PC  pu为PC蜘蛛 u为蜘蛛
if ( $pu = p) {
#跳转到指定地址
    rewrite  ^/(.*)$  https://baidu.com;
} 

http://www.niftyadmin.cn/n/1399721.html

相关文章

Ngnix反向代理实现wss

1.首先申请ssl证书并配置完成,域名可通过https访问2.配置反向代理3.在反向代理配置文件中 location /{}位置增加 proxy_set_header Upgrade $http_upgrade; #支持wss proxy_set_header Connection "upgrade"; #支持wss配置文件 location / {prox…

pagehelper未使用但是报pagehelper的错误

sql查询pagehelper未使用,但是报pagehelper的错误 在调用PageHelper.startPage(pageNum,pageSize)时会调用PageHelper的SqlUtil的setLocalPage方法,该方法使用ThreadLocal。当该线程被其他方法调用时即使没有使用PageHelper也会分页。 总结:在…

自定义注解实现redisson分布式锁(锁多个key)

1、编写自定义注解lock import java.lang.annotation.*;/*** 锁自定义注解* author */ Target({ElementType.PARAMETER, ElementType.METHOD})//作用于参数或方法上 Retention(RetentionPolicy.RUNTIME) Documented public interface Lock {/*** 锁key* return*/String[] key(…

Mybatis-plus自定义拦截器实现对查询的某个表增加固定搜索条件

本来项目写好了,但是由于新的需求出现,要在一个表上增加一个字段,原先由于功能运行都是正常的,而且这个表查询用的地方比较多,只是因为新增这个功能导致原先查询这个表的条件都需要增加查询这个字段的条件,…

新手教你centOS 6.5下面如何安装Oracle 11g(通用版)

由于课程需要,本人需要在centOS 6.5下面安装Oracle 11g,对于我这么一个对Linux一无所知的菜鸟,确实任务很艰巨。但是所幸的是,在第一遍装的遍体鳞伤之后,第二遍成功安装运行。 在网上查找了很多资料,但是很…

九度 题目1208:10进制 VS 2进制

题目描述:对于一个十进制数A,将A转换为二进制数,然后按位逆序排列,再转换为十进制数B,我们乘B为A的二进制逆序数。 例如对于十进制数173,它的二进制形式为10101101,逆序排列得到10110101&am…

UNICODE与ANSI的区别(以及int _tmain()的解释)

今天看编程之美,第一个cpu的案例,然后动手在codeblocks里面去实践的时候,有一段代码是int _tmain,第一次见,感觉应该和int main是类似的功能。但是最后编译的时候,却提示错误!显示&#xff0…

九度 题目1012:畅通工程

这题我是以连通域来做的,n个点至少需要n-1个边才能连通。如果形成回路,则相当于有这条边浪费了,没有任何价值。 最终至少还需要多少边才能把所有的城镇联通,也就是求剩下的孤立的点和连通域之间还需要几条边才能连通!…