nginx配置—之location模式匹配
Posted aishangwei
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了nginx配置—之location模式匹配相关的知识,希望对你有一定的参考价值。
1、location正则
~ 表示一个正则匹配,区分大小写 ~* 表示一个正则匹配,不区分大小写 ^~ 表示普通字符匹配,一般用来匹配目录 = 表示普通字符精确匹配 @ 定义一个自命名的location,用来在内部重定向,例如 error_page, try_files
2、location匹配的优先级
(1)location匹配的优先级与location在配置文件中的顺序无关
(2)精确匹配( = ),首先处理精确匹配,如果匹配上,就停止搜索其他匹配
(3)普通字符匹配( ^~ ),越精确匹配,优先级越高,如果匹配上,停止搜索匹配
(4)正则表达式匹配,匹配定义的内容
(5)如果第4条规则产生匹配的话,就使用该结果,否则,使用第3条规则的结果
例1:基本匹配
location = / { # 只匹配 “/” [ configuration A ] } location / { # 匹配以 “/”开头的请求,即匹配所有 # 但精确匹配或正则匹配会优先匹配 [ configuration B ] } location ^~ /images/ { # 匹配以 /images/ 开头的请求,并停止其他 location匹配 [ configuration C ] } location ~* .(gif|jpg|jpeg)$ { # 匹配以 gif, jpg, 或者 jpeg结尾的请求 [ configuration D ] } / 符合 A /documents/document.html 符合B /images/1.gif 符合C /documents/1.jpg 符合D
例2:@location
error_page 404 = @fetch; location @fetch( proxy_pass http://fetch; )
参考文章: http://www.nginx.cn/115.html
以上是关于nginx配置—之location模式匹配的主要内容,如果未能解决你的问题,请参考以下文章