nginx capture tous les autres emplacements que ceux indiqués


19

J'ai quelques emplacements sur mon serveur. Je veux capturer tous les autres emplacements que les utilisateurs donnent via le navigateur. Comment faire ça? Par exemple

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

Réponses:


31

Les emplacements de nginx sont basés sur des préfixes (à l'exception des expressions rationnelles), donc location /correspondent à toutes les demandes, sauf si une plus spécifique correspond.

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

    location /location1 {
        # do something
    }

    location /location2 {
        # do domething
    }
}

1
Et si vous vouliez /faire correspondre quelque chose de spécifique et que tout le reste soit attrapé par quelque chose d'autre? Souhaitez-vous utiliser la correspondance générique alors?
Tim Tisdall

3
ah .. je pense que ça peut être à utiliser location = /. La /demande explicite sera mise en correspondance par elle et tout le reste ira à location /moins que quelque chose d'autre ne corresponde.
Tim Tisdall
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.