格式:if (条件判断) { 具体的rewrite规则 }

条件举例:

条件判断语句由Nginx内置变量、逻辑判断符号和目标字符串三部分组成。
其中,内置变量是Nginx固定的非自定义的变量,如,$request_method, $request_uri等。
逻辑判断符号,有=, !=, ~, ~*, !~, !~*
!表示相反的意思,~为匹配符号,它右侧为正则表达式,区分大小写,而~*为不区分大小写匹配。
目标字符串可以是正则表达式,通常不用加引号,但表达式中有特殊符号时,比如空格、花括号、分号等,需要用单引号引起来。

示例1:

if ($request_method = POST)  //当请求的方法为POST时,直接返回405状态码
{
return ; //在该示例中并未用到rewrite规则,if中支持用return指令。
}

示例2:

if ($http_user_agent ~ MSIE) //user_agent带有MSIE字符的请求,直接返回403状态码
{
return ;
} 如果想同时限制多个user_agent,还可以写成这样 if ($http_user_agent ~ "MSIE|firefox|spider")
{
return ;
}

示例3:

if(!-f $request_filename)  //当请求的文件不存在,将会执行下面的rewrite规则
{
rewrite 语句;
}

示例4:

if($request_uri ~* 'gid=\d{9,12}/')  //\d表示数字,{9,12}表示数字出现的次数是9到12次,如gid=123456789/就是符合条件的。
{
rewrite 语句;
}

最新文章

  1. Hello session
  2. 利用 lucene.net 实现高效率的 WildcardQuery ,记一次类似百度搜索下拉关键字联想功能的实现。
  3. 遍历Arraylist的方法:
  4. 【PHP面向对象(OOP)编程入门教程】3.什么是面向对象编程呢?
  5. “You must not call setTag() on a view Glide is targeting” 解决
  6. IOS开发UI基础UISlide属性
  7. sqltext的参数化处理
  8. Linux下查看文件和文件夹大小的df和du命令
  9. [React Testing] Children with Shallow Rendering
  10. Event Sourcing - ENode(一)
  11. redis php sort 函数
  12. 【面向对象设计原则】之里氏替换原则(LSP)
  13. 201521123066 《Java程序设计》第九周学习总结
  14. CSS重要知识概述——Java Web从入门到精通第2章
  15. 网络最大流算法—EK算法
  16. 基于Linux-3.9.4的mykernel实验环境的极简内核分析
  17. PHP画矩形,椭圆,圆,画椭圆弧 ,饼状图
  18. Ren'Py视觉小说安装,玩一下吧,上班很闲的话
  19. require.js+knockout.js+.underscore模板引擎的使用
  20. [Jmeter]Xpath获取元素某个属性的值,以及获取最后一个元素某个属性的值

热门文章

  1. 对比度增强(二):直方图正规划与伽马变换 cv.normal()函数使用及原理
  2. Socker编程之TCP
  3. English--名词从句
  4. MongoDB常用数据库命令第一集
  5. word,excel,ppt转pdf
  6. 剑指前端(前端入门笔记系列)——DOM(元素大小)
  7. HTML5深入学习之鼠标跟随,拖拽事件
  8. Java语法知识点
  9. Spring中基于注解的IOC(二):案例与总结
  10. 深入理解Java类加载器(一):Java类加载原理解析