Nginx的location配置

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,访问被重定向到好联系官网
posted @ 2012-11-14 18:51  java程序员填空  阅读(196)  评论(0编辑  收藏  举报