Настройка nginx для выдачи 404, когда URL соответствует шаблону - PullRequest
55 голосов
/ 12 января 2011

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

Ответы [ 3 ]

85 голосов
/ 13 января 2011
location /test/ {
  return 404;
}
18 голосов
/ 18 марта 2013

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

location ^~ /test/ {
  return 404;
}

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

location ~ \.php$ {
  ...
}

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

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

4 голосов
/ 12 января 2011
location ^~ /test/ {
    internal;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...