nginx 多条件联合判断的变通之法

  • A+
所属分类:未分类

nginx 原生之支持if 中单条件判断,具体等到最近复习nginx配置 的rewrite 和location再说吧

为了在需要多个条件联合分析时利用现有的条件判断

可以设立中间值$do_yaf 示例如下

set $do_yaf 0;
if ( $server_port ~ 443 ) {
set $do_yaf 1;
}
if ($request_filename ~ up_archives/.*\.html) {
set $do_yaf "${do_yaf}1";
}
if ( $do_yaf = "11" ) {
rewrite ^(.*)$ http://$host$1 last;
}

以上配置可以实现https &http 主机部分目录强制降级http

深入思考,为了保证确定的多分枝,判断,可能在设置 ~匹配时设置好相反的!~,最后使得中间值为其确定,而不是匹配不到便在中间值不占位的情况

weinxin
我的微信公众号
我的微信公众号扫一扫

发表评论

:?::razz::sad::evil::!::smile::oops::grin::eek::shock::???::cool::lol::mad::twisted::roll::wink::idea::arrow::neutral::cry::mrgreen: