nginx location 指令(转)

语法

location  [=|~|~*|^~] /uri/  {...}
 

规则

= : 表示精确的URI匹配(有兴趣的同学可以看一下url和uri的区别)
~: 表示区分大小写的正则匹配
~*:表示不区分大小写的正则匹配
!~ && !~*:表示区分大小写不匹配的正则和不区分大小写的不匹配的正则
/:通用匹配,任何请求都会匹配到
 

location匹配目标

location匹配测试只使用请求URI的部分,而不使用参数部分。(原因:参数的写法太多,无法精确匹配)
 

location匹配顺序

多个location配置的前提下,location的匹配顺序(未验证,嘿嘿,google上搜的)
1.首先匹配=
2.其次匹配^~
3.再其次按照配置文件的顺序进行正则匹配、
4.最后是交给/进行通用匹配
注意:
当有匹配成功时,立刻停止匹配,按照当前匹配规则处理请求
 

演示实例

 
 

产生的效果如下:

访问根目录/,匹配到location /
访问除hello.php之外的其它php程序,匹配到location ~ \.php$,并且用php5-fpm去运行
访问hello.php,匹配到location = /hello.php,访问被重定向到好联系官网
 
转载自:http://blog.csdn.net/wzy_1988/article/details/8182625

猜你喜欢

转载自hz-chenwenbiao-91.iteye.com/blog/1926813
今日推荐