nginx 重写中使用到的指令

1670阅读 0评论2013-12-06 wsxedcer
分类:系统运维

break

语法:break
默认值:none
使用字段:server, location, if
完成当前设置的规则,停止执行其他的重写指令。

if

语法:if (condition) { … }
默认值:none
使用字段:server, location
注意:在使用if指令之前请查看if is evil page并且尽量考虑用try_files代替。
判断一个条件,如果条件成立,则后面的大括号内的语句将执行,相关配置从上级继承。
可以在判断语句中指定下列值:

正则表达式的一部分可以用圆括号,方便之后按照顺序用$1-$9来引用。

return

语法:return code
默认值:none
使用字段:server, location, if
这个指令结束执行配置语句并为客户端返回状态代码,可以使用下列的值:204,400,402-406,408,410, 411, 413, 416与500-504。此外,非标准代码444将关闭连接并且不发送任何的头部。

rewrite

语法:rewrite regex replacement flag
默认值:none
使用字段:server, location, if
按照相关的正则表达式与字符串修改URI,指令按照在配置文件中出现的顺序执行。
可以在重写指令后面添加标记。
如果替换的字符串以http://开头,请求将被重定向,并且不再执行多余的rewrite指令。
尾部的标记(flag)可以是以下的值:

注意如果一个重定向是相对的(没有主机名部分),nginx将在重定向的过程中使用匹配server_name指令的“Host”头或者 server_name指令指定的第一个名称,如果头不匹配或不存在,如果没有设置server_name,将使用本地主机名,如果你总是想让nginx 使用“Host”头,可以在server_name使用“*”通配符(查看http核心模块中的server_name)。
上一篇:nginx 重写中使用到的变量
下一篇:nginx 重写中使用到的正则表达式