nginx cattura tutte le altre posizioni rispetto a quelle indicate


19

Ho alcune posizioni sul mio server. Voglio catturare tutte le altre posizioni fornite dagli utenti tramite browser. Come farlo? Per esempio

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

Risposte:


31

Le posizioni di nginx sono basate su prefissi (eccetto quelle regexp), quindi location /corrispondono a tutte le richieste a meno che non corrisponda a una più specifica.

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

    location /location1 {
        # do something
    }

    location /location2 {
        # do domething
    }
}

1
E se volessi /abbinare qualcosa di specifico e poi tutto il resto fosse preso da qualcos'altro? Utilizzeresti la corrispondenza con caratteri jolly allora?
Tim Tisdall,

3
ah .. penso che potrebbe essere da usare location = /. La /richiesta esplicita verrà soddisfatta da essa e tutto il resto andrà a location /meno che qualcos'altro corrisponda.
Tim Tisdall,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.