Nginx 正则表达式 pcre_compile() 失败

Nginx regex pcre_compile() failed

有人可以解释为什么以下条件不成立吗?好像最后一个 ) 被截断了。

    location / {
        if ($request_uri !~ "(abc|def)" {
            return 404;
        }
    ...

失败:

2021/10/07 13:29:50 [emerg] 183#183: pcre_compile() failed: missing ) in "(abc|def" in /usr/local/openresty/nginx/conf/conf.d/local.dev.conf:26
nginx: [emerg] pcre_compile() failed: missing ) in "(abc|def" in /usr/local/openresty/nginx/conf/conf.d/local.dev.conf:26

有趣的是,这似乎是“有效的”。

        if ($request_uri !~ "(abc|def))" {
            return 404;
        }

您缺少 if ( 的结尾 )

if ($request_uri !~ "(abc|def)") {
    return 404;
}