首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >NGINX API版本控制技术

NGINX API版本控制技术
EN

Stack Overflow用户
提问于 2011-10-13 06:12:45
回答 1查看 2.4K关注 0票数 3

我希望使用NGINX来处理API版本控制。我认为处理将流量发送到不同的URLS会很简单:

代码语言:javascript
复制
    location = /1.0/* {
        root = /var/www/html/version_1.0/public;
    }
    location = /1.1/* {
        root = /var/www/html/version_1.1/public;
    }

然后,我会编写某种形式的重写,从URL中去掉1.0/或1.1/。对吗?无论如何,定位方法不起作用。我的语法关闭了吗?

谢谢!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-10-13 12:17:17

确保这不是关于matching order

nginx首先搜索由文字字符串给出的最具体的位置,而不考虑列出的顺序。在上面的配置中,唯一的文字位置是“/”,因为它匹配任何请求,所以它将被用作最后的手段。

然后,nginx按照配置文件中列出的顺序检查正则表达式给出的位置。第一个匹配表达式停止搜索,nginx将使用此位置。

如果没有与请求匹配的正则表达式,那么nginx将使用前面找到的最具体的文本位置。

您可以尝试a location directive,测试您想要的文字,并防止检查任何正则表达式:

代码语言:javascript
复制
location ^~ /1.0/ {
  # matches any query beginning with /1.0/ and halts searching,
  # so regular expressions will not be checked.
  [ configuration C ] 
}

然后你就可以查看rewrite procedures了。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7747217

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档