Nginx 将一大组 URL 重写为 444

Nginx 将一大组 URL 重写为 444

我正在寻找一种重写方法,它可以拾取任意数量的已定义 URL,并对其中任何一个执行返回 444 的操作。我希望找到一种可以执行的操作,例如 if location =定义的文件或列表然后返回 444。

我对每个 URL 使用的示例,这有效。我只想将 wp-login.php 替换为某种列表。

location = /wp-login.php {
    return 444;
}

编辑:我尝试做类似下面的事情,但不幸的是没有奏效

location = (/wp-login.php|/wp-admin.php) {
    return 444;
}

编辑2:

谢谢 Xavier Lucas,这正是我需要的。我使用了你提到的方法,然后添加了一些内容,以添加更多不同格式的 URL。我们收到了大量发送到奇怪 URL 的垃圾邮件,所以这个方法很好用。

    location ~ ^(/wp-(admin|login)\.php|/url/path(.*)|/url2(.*)) {
            return 444;
    }

答案1

使用正则表达式的位置必须使用运算符~

location ~ ^/wp-(admin|login)\.php$ {
    return 444;
}

这部分了解位置如何运作以及另一部分了解处理顺序是怎样的。

相关内容