NGINX API版本控制技术

我正在寻找使用NGINX来处理API版本。 我认为这将如此简单,以处理发送stream量到不同的URL:

location = /1.0/* { root = /var/www/html/version_1.0/public; } location = /1.1/* { root = /var/www/html/version_1.1/public; } 

然后我会写一些重写的​​forms去掉1.0 /或1.1 / URL。 那是对的吗? 总之,定位方法不起作用。 我的语法closures了吗?

谢谢!

确保这不是匹配顺序 :

nginx首先搜索由文字字符串给出的最具体的位置,而不管列出的顺序如何。 在上面的配置中,唯一的文本位置是“ / ”,因为它匹配任何请求,它将被用作最后的手段。
然后nginx按照配置文件中列出的顺序检查正则表达式给出的位置。 第一个匹配表达式会停止搜索,nginx会使用这个位置。
如果没有正则表达式匹配请求,那么nginx使用前面找到的最具体的文字位置。

你可以尝试一个位置指令 ,测试你想要的文字,并防止任何正则表达式被检查:

 location ^~ /1.0/ { # matches any query beginning with /1.0/ and halts searching, # so regular expressions will not be checked. [ configuration C ] } 

然后你可以检查重写过程 。