nginx menangkap semua lokasi selain yang diberikan


19

Saya memiliki beberapa lokasi di server saya. Saya ingin menangkap semua lokasi lain yang diberikan pengguna melalui browser. Bagaimana itu? Sebagai contoh

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

Jawaban:


31

Lokasi nginx adalah berbasis awalan (kecuali yang regexp), jadi location /cocok dengan semua permintaan kecuali yang lebih spesifik cocok.

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

    location /location1 {
        # do something
    }

    location /location2 {
        # do domething
    }
}

1
Bagaimana jika Anda ingin /mencocokkan sesuatu yang spesifik dan kemudian yang lainnya ditangkap oleh sesuatu yang lain? Apakah Anda akan menggunakan pencocokan wildcard?
Tim Tisdall

3
ah .. saya pikir mungkin untuk digunakan location = /. /Permintaan eksplisit akan dicocokkan dengan itu dan segala sesuatu yang lain akan pergi location /kecuali ada sesuatu yang cocok.
Tim Tisdall
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.