使用 nginx 重写规则将文件/url 列入黑名单

使用 nginx 重写规则将文件/url 列入黑名单

我正在像这样使用 nginx.congf 重写规则

location / {
    if (!-e $request_filename) {
        rewrite ^/([^?]*)(?:\?(.*))? /index.php?title=$1&$2 last;
    }
    if ($uri ~* "\.(ico|css|js|gif|jpe?g|png)(\?[0-9]+)?$") {
        expires max;
        break;
    }
}

我需要从重写规则中排除“site.com/api.php”。有人能指出如何做到这一点吗?

答案1

只需添加一个明确的中断

location / {
   if ($uri ~ "api.php") {
        break;
    } 
   if (!-e $request_filename) {
        rewrite ^/([^?]*)(?:\?(.*))? /index.php?title=$1&$2 last;
    }
    if ($uri ~* "\.(ico|css|js|gif|jpe?g|png)(\?[0-9]+)?$") {
        expires max;
        break;
    }
}

相关内容