Я хочу, чтобы nginx возвращал код 404, когда он получает запрос, который соответствует шаблону, например /test/*
. Как я могу настроить nginx для этого?
Настройка nginx для возврата 404, когда URL-адрес соответствует шаблону
Ответ 1
location /test/ {
return 404;
}
Ответ 2
Необходимо добавить "^ ~", чтобы дать этому совпадению более высокий приоритет, чем блоки местоположения в регулярном выражении.
location ^~ /test/ {
return 404;
}
В противном случае вы столкнетесь с некоторой сложной ситуацией. Например, если у вас есть другой блок местоположения, например
location ~ \.php$ {
...
}
и кто-то отправит запрос http://your_domain.com/test/bad.php, этот блок местоположения регулярного выражения будет выбран nginx для обслуживания запроса. Очевидно, это не то, что вы хотите. Поэтому обязательно поставьте "^ ~" в этот блок местоположения!
Ответ 3
location ^~ /test/ {
internal;
}