nginx中location匹配顺序
<table style="height: 30px; background-color: #afeeee; width: 1266px; ; width: 1266px;" border="0"> |
1.匹配的顺序是先匹配普通字符串,然后再匹配正则表达式。另外普通字符串匹配顺序是根据配置中字符长度从长到短,也就是说使用普通字符串配置的location顺序是无关紧要的,反正最后nginx会根据配置的长短来进行匹配,但是需要注意的是正则表达式按照配置文件里的顺序测试。找到第一个匹配的正则表达式将停止搜索。2.一般情况下,匹配成功了普通字符串location后还会进行正则表达式location匹配。有两种方法这种行为,其一就是使用“=”前缀,这时执行的是严格匹配,并且匹配成功后立即停止其他匹配,同时处理这个请求;另外一种就是使用“^~”前缀,如果把这个前缀用于一个常规字符串那么告诉nginx 如果路径匹配那么不测试正则表达式。
<table style="height: 30px; background-color: #afeeee; width: 1266px; ; width: 1266px;" border="0">
<tr><td><span style="font-size: 16px;">三、注意事项</td>
</tr></table>
1.nginx匹配顺序是先匹配普通location,在匹配正则location;
2.普通匹配规则无顺序无论写在配置文件的那个地方都一样,但是正则匹配则是按照匹配配置文件中由上到下的先后顺序匹配;
更多详情参考官网:http://nginx.org/en/docs/http/ngx_http_core_module.html
(编辑:李大同)
【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!
- apache – 将.htaccess转换为nginx(mod_rewrite)
- linux – Nginx有什么替代方案可以支持后端之间的http ke
- Nginx反向代理通过客户端证书
- node.js – 在同一个域上使用nginx提供多个节点应用程序
- 在debian(基于系统)上配置git-http-backend的nginx
- python – Django uwsgi nginx.导入错误:没有名为py的模
- Nginx FastCGI PHP(php-fpm)没有记录捕获的错误/警告
- nginx – 是否有任何证书颁发机构都支持SAN和通配符?
- ruby-on-rails – 开发,登台和生产环境rails app
- ubuntu – 使用现有的Nginx安装转发到GitLab子域