nginx中的location对URL进行匹配;语法:location [=|~|~*|^~] /uri/ { … }当找到符合条件的location时,将执行内部的指令;如果使用正则表达式,必须使用~*来表示不区分大小写或者~来表示区分大小写匹配;例如:location ~* .(gif|jpg|jpeg)$;当匹配成功后,将停止继续匹配;如果没有找到,则使用常规字符串处理结果;如果不是使用正则表达式,可以使用=进行严格匹配;如果使用^~前缀用于一个常规字符串,表示如果路径匹配,则不测试正则表达式;总结:指令按以下顺序被接受1:=前缀的指令严格匹配这个查询;如果找到则停止继续匹配2:接下来的常规字符串,长的在前,如果这个匹配使用^~前缀,匹配停止;3:正则表达式,按配置文件的顺序;4:如果第三步产生匹配,则使用这个结果;停止匹配;否则使用第二部的匹配结果;四个案例:八个location案例当匹配成功后,location中可以使用rewrite进行路由重写;首先需要了解nginx rewrite中可以使用到的全局变量;$uri与$document_uri相同:不包含指令的uri地址如aaa.com/index.php?...中的index.php防盗链:注意location生效规则,否则防盗链不起作用。配置参数说明:none'Referer' :来源头部为空的情况blocked'Referer' :来源头部不为空,但里面的值被代理或者防火墙删除,这些值都不以http://或者https://开头server_names'Referer' :来源头部包含当前的server_name,就是域名arbitary string :任意字符串,定义服务器名或者可选的url前缀,主机名可以使用*开头或者结尾,在检测来源头部这个过程中,来源域名中的主机端口将会被忽略;regular expression :正则表达式,表示排除https://或者http://开头的字符串下面两个案例:常用正则匹配参考if判断语句nginx 配置案例参考