-1

我可以得到一些帮助来解释 nginx 中使用的正则表达式吗server_name?该指令是:

server_name (?<account>.+)\.mydomain\.com$

我不明白第一个的意思?。另外,我如何扩展它以匹配*.mydomain.com除了web3.mydomain.com. IE

this.mydomain.com

应该匹配,但是:

web3.mydomain.com

不应该匹配。

谢谢。

4

1 回答 1

2

?<account>只是命名捕获组的一种方式。因此,在内部 ngix 可能会.+使用名称“account”而不是“capture group #1”来引用。

另外,我如何扩展它以匹配 *.mydomain.com 除了 web3.mydomain.com

您可以使用否定的前瞻断言

server_name (?!web3\.)(?<account>.+)\.mydomain\.com$

(?!web3\.)部分检查字符串是否以 if 开头,web3.如果是,则整个表达式不匹配。

但是前瞻不是很有效。也许您只是将 ngix 配置为首先查找匹配项,web3.mydomain.com如果不匹配,请尝试更通用的表达式?

于 2013-03-03T17:47:25.607 回答