使用regexp查找更干净的nginx位置

使用regexp查找更干净的nginx位置,regex,nginx,Regex,Nginx,我想创建一个位置,匹配所有,但 http://uri/proxy-wmts 例如: http://uri/proxy/toto http://uri/proxy?param=value 我得出结论: location ~ ([^/]*)/proxy(\-[^w][^m][^t][^s])* 但我觉得这有点难看,我正在寻找一个更干净的解决方案。正如我在评论中所说的,使用适当的位置顺序将更容易、更高效(匹配常量字符串比正则表达式更快) 或 你想干什么就干什么 这里可以应用的一个正则表达式

我想创建一个位置,匹配所有,但

http://uri/proxy-wmts
例如:

http://uri/proxy/toto
http://uri/proxy?param=value
我得出结论:

location  ~ ([^/]*)/proxy(\-[^w][^m][^t][^s])* 

但我觉得这有点难看,我正在寻找一个更干净的解决方案。

正如我在评论中所说的,使用适当的
位置
顺序将更容易、更高效(匹配常量字符串比正则表达式更快)

你想干什么就干什么


这里可以应用的一个正则表达式是
(?!…)

哪一个可以匹配

/uri/proxy
/uri/proxy-abc
/uri/proxy/abc
...
但不是为了

/uri/proxy-wmts
/uri/proxy-wmts-abc
/uri/proxy-wmts/abc

为什么不更改
位置的顺序?如果
location=/proxy wmts
首先出现,则任何其他表达式都不会匹配它。详细说明位置匹配顺序。如果不清楚,请将您的配置粘贴到此处,以便我们可以帮助您。我也相信这个问题更适合。谢谢,这就是我昨天的结论,出于好奇,我很高兴看到这个问题的答案。谢谢你把我指给服务器故障卢卡斯,他不知道那个!
location ~ ([^/]*)/proxy(?!-wmts)
/uri/proxy
/uri/proxy-abc
/uri/proxy/abc
...
/uri/proxy-wmts
/uri/proxy-wmts-abc
/uri/proxy-wmts/abc