标签:style http color io os ar 使用 sp 文件
=
等于匹配符就是等号,特点可以概括为两点:
空匹配符的特点是:
~
正则匹配符是可以使用正则表达式的匹配符。不过这里要强调的是,一般来说~
是指:
区分大小写的正则匹配
而~*
表示:
不区分大小写的正则匹配
但是对于一些对大小写不敏感的操作系统,这两者没有区别。另外一个就是^~
,其表示以指定模式开始的正则匹配。
@
一般用于错误页面等,这个暂不讨论。
=
^~
~
或~*
这样说比较抽象,我们来看例子吧。
看下面的例子(用到我们此前一起完成的Hello World
模块):
location /poechant {
hello_world no1;
}
location = /poechant {
hello_world no2;
}
如果我们的请求是http://my.domian/poechant
,则我们发现两个location
都与请求的 URI 匹配,这时根据我们的优先级顺序,第一个是精确匹配时的空匹配符,第二个是等于匹配符,所以第二个的优先级高,也就是应该输出:
hello_world, no2
同时也说明 Nginx 的 locatoin 不是按照配置文件中的书写顺序来匹配的。
^~
下面这个例子中,两者开始都精确匹配了,连这个正则匹配都是精确匹配。
location ^~ ^/poechant$ {
hello_world no1;
}
location /poechant {
hello_world no2;
}
匹配哪一个?你测试一下,会得到:
hello_world, no2
与我们上面说的优先级顺序相吻合。
略
-
高性能Web服务器Nginx的配置与部署研究(16)小议location匹配模式优先级
标签:style http color io os ar 使用 sp 文件
原文地址:http://www.cnblogs.com/breg/p/4043844.html