nginx, verilenler dışındaki tüm konumları yakalar


19

Sunucumda bazı konumlar var. Kullanıcıların tarayıcı aracılığıyla verdiği diğer tüm konumları yakalamak istiyorum. Nasıl yapılır? Örneğin

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

Yanıtlar:


31

nginx'in konumları önek tabanlıdır (normal ifadeler hariç), bu nedenle location /daha spesifik bir eşleşme olmadığı sürece tüm isteklerle eşleşir.

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

    location /location1 {
        # do something
    }

    location /location2 {
        # do domething
    }
}

1
/Belirli bir şeyle eşleşmek istiyorsanız ve sonra her şey başka bir şey tarafından yakalanırsa ne olur ? O zaman joker karakter eşleşmesini kullanır mısınız?
Tim Tisdall

3
ah .. Sanırım kullanmak olabilir location = /. Açık /istek onunla eşleşecek ve başka location /bir şey eşleşmediği sürece her şey gidecek .
Tim Tisdall
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.