nginx 捕获所有其他位置而不是给定的位置

ala*_*ack 27 nginx

我的服务器上有一些位置。我想捕捉用户通过浏览器提供的所有其他位置。那怎么办?例如

 server {
     ...
     location /location1 {
              do something;
     }
     location /location2 {
              do something;
     }
     location /all_other_locations {
            return 301 http://www.google.de
     }
Run Code Online (Sandbox Code Playgroud)

Ale*_*Ten 41

nginx 的位置是基于前缀的(正则表达式除外),因此location /匹配所有请求,除非更具体的一个匹配。

server {
    location / {
        # catch all unless more specific location match
    }

    location /location1 {
        # do something
    }

    location /location2 {
        # do domething
    }
}
Run Code Online (Sandbox Code Playgroud)

  • 啊..我觉得可能是用`location = /`。明确的 `/` 请求将被它匹配,其他所有内容都将转到 `location /` 除非其他匹配。 (5认同)
  • 如果你想让 `/` 匹配特定的东西,然后其他东西被别的东西捕获怎么办?那么你会使用通配符匹配吗? (2认同)