最新消息:Done.cc 大杂烩。

nginx多条件if判断后301

所有文章 Huishu 27011浏览 1评论

nginx配置文件是不支持if嵌套、并且不支持类似shell 的 && 和 || 的写法 ,这样就必须想别的办法解决,是的,可以变量做flag标记的方式来解决,网上也有很多例子。

set $flag 0;
if ( $host = "abc.def.com" ){
   set $flag "1";
   }
if ( $request_uri = "/aaa.html" ){
   set $flag "${flag}1";
   }
if ( $http_user_agent ~* "mobile" ){
   set $flag "${flag}1";
   }
if ( $http_user_agent ~* "android" ){
   set $flag "${flag}1";
   }
if ( $flag = "1111" ){
  return 301 http://www.qwe.com/qwert;
   }

if指令后面要有空格,最后有几个1表示有几个判断。

转载请注明:Done.cc » nginx多条件if判断后301

发表我的评论
取消评论

表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

网友最新评论 (1)

  1. 不错,刚好需要。
    星瞳5年前(2019-10-28)回复