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
     }

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
    }
}

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
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.