Только php-файлы должны иметь строку запроса. Но у меня есть перегрузка запросов со строкой запроса, прикрепленной к файлам без какого-либо расширения, например:
/user/register?%65%6c%65%6d%65%6e%74%5f%70%61%72%65%6e%74%73=%74%69%6d%65%7
, так как в целом это означает, что это попытки выполнить какой-то плохой код, я хочу исключить его на уровне nginx, даже если код php удалит его после. и в этом случае я хотел бы вернуть код ошибки 414. Я застрял на том, как начать логику. Я также много читал об использовании try_files, но потом получаю 404 ошибки, даже если скрипт php существует.
location / {
set args "";
}
location ~ \.php$ {
if ($request_uri ~ ^/([^?]*\.php)($|\?)) { return 301 /$1?$args; }
...
}
Я получил 404 ошибки или слишком много перенаправлений, что бы я ни делал