在 NGINX 重写中正则表达式匹配错误的 URL 有问题

Having issues with regex matching wrong URLs in NGINX rewrite

您好,我有这样的网址

http://dansawesomesite.com/123/articlename

我在nginx中有如下重写规则

location ~* /(\d+)/([\+\w-\ ]+)/?$ {
  try_files $uri /wpcontentredir.php?slug=;
}

这与上面的 URL 匹配,但是当我有以下 URL 的

时,问题就出现了

http://dansawesomesite.com/posts/630325/like (以及一些类似的)

这些最终也会匹配,根据我的正则表达式,这是正确的,但会搞砸,因为我不想通过 try_files 解析这些 url,我只想让它们按原样传递。

只是想知道是否有人可以帮助我只匹配顶部 URL?

干杯 旦

尝试在正则表达式的开头添加“^” 位置 ~* ^/(\d+)/([+\w-\ ]+)/?$

因此只有当 URI 的第一部分包含数字而不是 "posts" 或其他内容时才会匹配