所以我今天在配置 nginx 时遇到了一个奇怪的问题。我试图匹配这样的位置:
location ~ ^/([0-9]+)/(.*) {
# do proxy redirects
}
Run Code Online (Sandbox Code Playgroud)
...对于像“ http://my.domain.com/0001/index.html ”这样的 URL 。
这条规则从来没有匹配过,尽管事实上它应该是所有权利。根据这个文档,我花了一段时间才弄清楚,需要引用正则表达式中的某些字符。问题是,文档是用于重写的,它专门调用了大括号,而不是方括号。经过大量涉及大量咒骂的实验后,我发现我可以通过像这样引用正则表达式来解决问题:
location ~ "^/([0-9]+)/(.*)" {
# do proxy redirects
}
Run Code Online (Sandbox Code Playgroud)
是否有 nginx 需要引用正则表达式的字符列表?或者这里是否还有其他我完全失踪的事情?这是我的第一个 nginx 配置工作,所以很可能我误解了一些东西......