从品牌网站建设到网络营销策划,从策略到执行的一站式服务
这篇文章主要介绍了nginx怎么实现if嵌套的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇nginx怎么实现if嵌套文章都会有所收获,下面我们一起来看看吧。
乌当ssl适用于网站、小程序/APP、API接口等需要进行数据传输应用场景,ssl证书未来市场广阔!成为成都创新互联公司的ssl证书销售渠道,可以享受市场价格4-6折优惠!如果有意向欢迎电话联系或者加微信:028-86922220(备注:SSL证书合作)期待与您的合作!
nginx 不支持 if 嵌套,也不允许在 if 中使用逻辑判断,会报如下错误:
nginx: [emerg] "if" directive is not allowed
当业务需要多个条件判断时,可以借助中间变量来实现
如:我们的网站在 pc 端有多个子域名, 而移动端只有一个域名,对应关系如下:
www.test.com --> m.test.com
sub1.test.com --> m.test.com/sub1
sub2.test.com --> m.test.com/sub2
sub3.test.com --> m.test.com/sub3
要实现的效果:在移动端访问 pc 域名时 301 跳转到对应的移动端域名
nginx 的重写规则如下:
# 是否为移动端 set $mobile 0; if ($http_user_agent ~* (mobile|nokia|iphone|ipad|android|samsung|htc|blackberry)) { set $mobile 1; } # 获取子域名 set $prefix 1; if ($host ~* "sub1.test.com") { set $prefix 2; } if ($host ~* "sub2.test.com") { set $prefix 3; } if ($host ~* "sub3.test.com") { set $prefix 4; } set $sign "${mobile}${prefix}"; if ($sign = 11) { rewrite ^(.*) http://m.test.com$1 permanent; } if ($sign = 12) { rewrite ^(.*) http://m.test.com/sub1$1 permanent; } if ($sign = 13) { rewrite ^(.*) http://m.test.com/sub2$1 permanent; } if ($sign = 14) { rewrite ^(.*) http://m.test.com/sub3$1 permanent; }
关于“nginx怎么实现if嵌套”这篇文章的内容就介绍到这里,感谢各位的阅读!相信大家对“nginx怎么实现if嵌套”知识都有一定的了解,大家如果还想学习更多知识,欢迎关注创新互联行业资讯频道。
成都网站建设公司地址:成都市青羊区太升南路288号锦天国际A座10层 建设咨询028-86922220
成都快上网科技有限公司-四川网站建设设计公司 | 蜀ICP备19037934号 Copyright 2020,ALL Rights Reserved cdkjz.cn | 成都网站建设 | © Copyright 2020版权所有.
专家团队为您提供成都网站建设,成都网站设计,成都品牌网站设计,成都营销型网站制作等服务,成都建网站就找快上网! | 成都网站建设哪家好? | 网站建设地图