Nginx捕获除给定位置以外的所有其他位置


19

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

 server {
     ...
     location /location1 {
              do something;
     }
     location /location2 {
              do something;
     }
     location /all_other_locations {
            return 301 http://www.google.de
     }

Answers:


31

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

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

    location /location1 {
        # do something
    }

    location /location2 {
        # do domething
    }
}

1
如果您想/匹配特定的东西然后其他东西被其他东西抓住,该怎么办?那您会使用通配符匹配吗?
蒂姆·提斯达

3
嗯..我认为可能是使用location = /。显式/请求将与之匹配,location /除非其他条件匹配,否则其他所有内容将转到该请求。
Tim Tisdall
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.