如何删除Nginx中除.php文件以外的所有文件和脚本的querystring?

时间:2019-05-31 22:26:12

标签: nginx nginx-config

仅php文件应具有querystring。但是我有很多请求,查询字符串附加到没有任何扩展名的文件上,例如:

/user/register?%65%6c%65%6d%65%6e%74%5f%70%61%72%65%6e%74%73=%74%69%6d%65%7

通常来说,这意味着它们试图执行一些错误的代码,即使php代码之后将其剥离,我也希望在nginx级别将其排除在外。在这种情况下,我想返回414错误代码。我被困在如何开始逻辑上。我也读过很多有关使用try_files的信息,但是即使存在php脚本,我也会收到404错误。

location / {
 set args "";
}

location ~ \.php$ {
    if ($request_uri ~ ^/([^?]*\.php)($|\?)) {  return 301 /$1?$args;  }
    ...
}

我遇到404错误或重定向过多

0 个答案:

没有答案