nginx 的if 判断,多条件如何处理

nginx 的配置文件中if 条件不支持&& 和 | ,所以要实现这个功能必须要换一个方式。

通过设置一个开关变量,提前赋值。

		set $flag 0;
		if ( $request_uri ~ 'yq-acs/acs' ) {
			set $flag '1';
		}
		if ( $request_uri ~ 'yq-electric/electric' ) {
			set $flag '1';
		}
		if ( $request_uri ~ 'yq-lift/lift' ) {
			set $flag '1';
		}
		if ( $request_uri ~ 'yq-parking/car' ) {
			set $flag '1';
		}
		
		if ( $flag !~ '1' ) {
			rewrite ^(.*)$  https://yq.damaiiot.com permanent;
		}

注意,在nginx.conf 的语法中对空格很敏感。一定要注意if 后面带空格,以及()之间的空格

你可能感兴趣的:(Nginx)