O nginx captura todos os outros locais além do fornecido

19

Eu tenho alguns locais no meu servidor. Quero pegar todos os outros locais que os usuários fornecem via navegador. Como fazer isso? Por exemplo

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

Respostas:

31

Os locais do nginx são baseados em prefixos (exceto os de regexp), portanto, location /correspondem a todos os pedidos, a menos que um mais específico corresponda.

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

    location /location1 {
        # do something
    }

    location /location2 {
        # do domething
    }
}
Alexey Ten
fonte
1
E se você quisesse /corresponder a algo específico e depois tudo o mais ser pego por outra coisa? Você usaria a correspondência curinga então?
precisa
3
ah .. acho que pode ser para usar location = /. A /solicitação explícita será correspondida por ela e todo o resto será acessado, a location /menos que outra coisa corresponda.
precisa