阻止包含子字符串的请求

时间:2015-01-27 19:21:06

标签: regex nginx

我想要阻止对包含nginx一次或多次%20的WordPress搜索请求,因为这些来自机器人,并极大地降低了服务器速度:

/?s=Inuyasha%20Toki%20o%20Koeru%20Omoi

我试过了:

if ($args ~ ^s=*%20*$) { return 404; }

但它不起作用。我对nginx regex不太熟悉。

怎么会这么正确?

1 个答案:

答案 0 :(得分:1)

Nginx将每个请求参数映射到变量,例如“s =” - $ arg_s,“foo =” - $ arg_foo

所以 if($ arg_s~ ...

你明白了