nginx 如何实现if嵌套的方法示例

nginx 如何实现if嵌套的方法示例,第1张

nginx如何实现if嵌套的方法示例

本文详细介绍nginx如何完成if嵌套的例子。原文根据示例代码非常详细,对大家的学习培训或者工作都有一定的参考价值。有必要的朋友陪我去了解一下。

Nginx与if嵌套不兼容,不允许在if中应用判断推理。将报告以下不准确之处:

nginx:[emerg]"if"指令是不允许的

当业务流程必须用几个标准来区分时,可以用中间变量来完成。

比如人人网站在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$mobile0; if($http_user_agent~*(mobile|nokia|iphone|ipad|android|samsung|htc|blackberry)){ set$mobile1; } #获得二级域名 set$prefix1; if($host~*"sub1.test.com"){ set$prefix2; } if($host~*"sub2.test.com"){ set$prefix3; } if($host~*"sub3.test.com"){ set$prefix4; } set$sign"${mobile}${prefix}"; if($sign=11){ rewrite^(.*)http://m.test.com$1permanent; } if($sign=12){ rewrite^(.*)http://m.test.com/sub1$1permanent; } if($sign=13){ rewrite^(.*)http://m.test.com/sub2$1permanent; } if($sign=14){ rewrite^(.*)http://m.test.com/sub3$1permanent; }

    文章里的内容就这些了。期待对大家的学习和培训有所帮助,也期待大家的应用。

    欢迎分享,转载请注明来源:内存溢出

    原文地址:https://54852.com/zz/774747.html

    (0)
    打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
    上一篇 2022-05-03
    下一篇2022-05-03

    发表评论

    登录后才能评论

    评论列表(0条)

      保存