Подтвердить что ты не робот

Настройка nginx для возврата 404, когда URL-адрес соответствует шаблону

Я хочу, чтобы nginx возвращал код 404, когда он получает запрос, который соответствует шаблону, например /test/*. Как я могу настроить nginx для этого?

4b9b3361

Ответ 1

location /test/ {
  return 404;
}

Ответ 2

Необходимо добавить "^ ~", чтобы дать этому совпадению более высокий приоритет, чем блоки местоположения в регулярном выражении.

location ^~ /test/ {
  return 404;
}

В противном случае вы столкнетесь с некоторой сложной ситуацией. Например, если у вас есть другой блок местоположения, например

location ~ \.php$ {
  ...
}

и кто-то отправит запрос http://your_domain.com/test/bad.php, этот блок местоположения регулярного выражения будет выбран nginx для обслуживания запроса. Очевидно, это не то, что вы хотите. Поэтому обязательно поставьте "^ ~" в этот блок местоположения!

Ссылка: http://wiki.nginx.org/HttpCoreModule#location

Ответ 3

location ^~ /test/ {
    internal;
}