Trong ví dụ mà bạn trích dẫn trong câu hỏi của bạn:
location @default {
# ...
}
location /somewhere {
try_files $uri @default;
}
Nếu yêu cầu đến được nhận tại http: // your-domain / where , thì vị trí khớp / ở đâu đó và nó sẽ thử ở hai nơi một cách tuần tự để tìm phản hồi, như được chỉ định bởi chỉ thị try_files, phản hồi với lần thử thành công đầu tiên.
- đầu tiên, nó kiểm tra nếu có một tệp tại vị trí / một nơi nào đó và nếu tệp tồn tại, nó sẽ được trả về trong phản hồi.
- nếu điều này không thành công, nó sẽ thử tùy chọn dự phòng try_files, @default, được gọi là tên_location . Phản hồi cho tên_location này được chỉ định bởi lệnh
location @default
. Một tên_location sẽ không bao giờ khớp với yêu cầu đến và được tham chiếu sử dụng để chỉ định phản hồi trong các chỉ thị vị trí khác.
Bằng cách này, một khi tuyên bố có thể tránh được (nếu tập tin tồn tại, sau đó sử dụng nó, nếu không đáp ứng như spec'd ở vị trí chỉ thị @default). Vì vậy, nó có thể được sử dụng như một tốc ký cho một điều kiện if. Các tuyên bố "Nếu" chắc chắn là "nhíu mày" bởi các tác giả nginx ( nếu là xấu xa ) vì chúng có một số hạn chế và có thể không đưa ra kết quả như mong đợi.