\*\*if判断指令\*\* 语法为`if(condition){...}`,对给定的条件condition进行判断。如果为真,大括号内的rewrite指令将被执行,if条件(conditon)可以是如下任何内容:  \* 当表达式只是一个变量时,如果值为空或任何以0开头的字符串都会当做false \* 直接比较变量和内容时,使用`=`或`!=` \* `~`正则表达式匹配,`~\*`不区分大小写的匹配,`!~`区分大小写的不匹配  `-f`和`!-f`用来判断是否存在文件 `-d`和`!-d`用来判断是否存在目录 `-e`和`!-e`用来判断是否存在文件或目录 `-x`和`!-x`用来判断文件是否可执行  例如:  ~~~ if ($http\_user\_agent ~ MSIE) { rewrite ^(.\*)$ /msie/$1 break; } //如果UA包含"MSIE",rewrite请求到/msid/目录下  if ($http\_cookie ~\* "id=(\[^;\]+)(?:;|$)") { set $id $1; } //如果cookie匹配正则,设置变量$id等于正则引用部分  if ($request\_method = POST) { return 405; } //如果提交方法为POST,则返回状态405(Method not allowed)。return不能返回301,302  if ($slow) { limit\_rate 10k; } //限速,$slow可以通过 set 指令设置  if (!\-f $request\_filename){ break; proxy\_pass http://127.0.0.1; } //如果请求的文件名不存在,则反向代理到localhost 。这里的break也是停止rewrite检查  if ($args ~ post=140){ rewrite ^ http://example.com/ permanent; } //如果query string中包含"post=140",永久重定向到example.com  location ~\* \\.(gif|jpg|png|swf|flv)$ { valid\_referers none blocked www.jefflei.com www.leizhenfang.com; if ($invalid\_referer) { return 404; } //防盗链 } ~~~