Điểm:0

Cấu hình vị trí Nginx

lá cờ br
Vv.

tôi có cấu hình

vị trí ~ \.(pdf)$ {
    hết hạn 2h;
}

địa điểm / {
    ...quy tắc phụ trợ...
}

Bây giờ tôi muốn khối đầu tiên chỉ được thực thi cho các tệp pdf thực sự hiện có, nếu không, yêu cầu sẽ được chuyển đến phần phụ trợ. Tôi cho rằng tôi nên thêm vào khối vị trí đầu tiên try_files $uri @backend:

vị trí ~ \.(pdf)$ {
    try_files $uri @backend;
    hết hạn 2h;
}

địa điểm / {
    ...quy tắc phụ trợ...
}

vị trí @backend {
    ... cùng một quy tắc phụ trợ ...
}

Nhưng hóa ra cả hai địa điểm /@ phụ trợ sẽ hoàn toàn giống nhau, có cách nào để kết hợp chúng hay tôi chỉ nên tạo hai khối giống hệt nhau?

lá cờ br
Đặt quy tắc phụ trợ vào tệp riêng biệt và sử dụng `bao gồm`.
lá cờ br
Vv.
Một tệp riêng biệt là một ý tưởng, nhưng tôi không muốn tạo thêm sự phức tạp bằng một tệp bổ sung. Có cách nào thanh lịch hơn không?
Điểm:0
lá cờ gr

Như một giải pháp thay thế, bạn có thể rút ngắn địa điểm đến

địa điểm / {
    try_files "" @backend;
}

Điều này sẽ tạo ra một hệ thống bổ sung thống kê gọi cho mọi yêu cầu, nhưng vì đó là thư mục gốc web của bạn sẽ thống kê'ed, những cuộc gọi đó phải là một loại nào đó được lưu vào bộ nhớ đệm bởi nhân và nó không ảnh hưởng nghiêm trọng đến hiệu suất.

Tái bút

Bạn không cần một nhóm chụp cho vị trí biểu thức chính quy của mình, chỉ cần vị trí ~ \.pdf$ {...} sẽ là đủ (nhưng hiệu quả hơn một chút).

Cập nhật

Một gợi ý nữa sẽ cho phép giảm số lượng địa điểm:

bản đồ $uri $try {
    ~\.pdf$ $uri;
    <some_other_mask_to_try_locally_first> $uri;
    # giá trị mặc định sẽ là một chuỗi rỗng
}
người phục vụ {
    ...
    địa điểm / {
        try_files $try @backend;
    }
    vị trí @backend {
        ...
    }
}
lá cờ br
Vv.
Cảm ơn những ý tưởng ở đây và trên SO. Trên ngoặc - tất nhiên, trong khi đơn giản hóa cấu hình cho câu hỏi, tôi đã quên xóa chúng)
Ivan Shatsky avatar
lá cờ gr
Kiểm tra cập nhật câu trả lời.

Đăng câu trả lời

Hầu hết mọi người không hiểu rằng việc đặt nhiều câu hỏi sẽ mở ra cơ hội học hỏi và cải thiện mối quan hệ giữa các cá nhân. Ví dụ, trong các nghiên cứu của Alison, mặc dù mọi người có thể nhớ chính xác có bao nhiêu câu hỏi đã được đặt ra trong các cuộc trò chuyện của họ, nhưng họ không trực giác nhận ra mối liên hệ giữa câu hỏi và sự yêu thích. Qua bốn nghiên cứu, trong đó những người tham gia tự tham gia vào các cuộc trò chuyện hoặc đọc bản ghi lại các cuộc trò chuyện của người khác, mọi người có xu hướng không nhận ra rằng việc đặt câu hỏi sẽ ảnh hưởng—hoặc đã ảnh hưởng—mức độ thân thiện giữa những người đối thoại.