当URL与模式匹配时,配置nginx以返回404

时间:2011-01-12 02:39:37

标签: nginx webserver

我希望nginx在收到与模式匹配的请求时返回404代码,例如/test/*。如何配置nginx呢?

3 个答案:

答案 0 :(得分:86)

location /test/ {
  return 404;
}

答案 1 :(得分:18)

需要添加“^〜”才能使此匹配的优先级高于正则表达式位置块。

location ^~ /test/ {
  return 404;
}

否则你会遇到一些棘手的情况。例如,如果您有其他位置块,例如

location ~ \.php$ {
  ...
}

并且有人向http://your_domain.com/test/bad.php发送请求,nginx将挑选该正则表达式位置块以提供请求。显然这不是你想要的。所以一定要把“^〜”放在那个位置块中!

参考:http://wiki.nginx.org/HttpCoreModule#location

答案 2 :(得分:4)

location ^~ /test/ {
    internal;
}