Phù hợp với vị trí dựa trên phần mở rộng tệp với NGINX
Đã xuất bản: lúc 01:21:08 UTC 15 tháng 2, 2025
Bài viết này giải thích cách thực hiện so khớp mẫu dựa trên phần mở rộng tệp trong ngữ cảnh vị trí trong NGINX, hữu ích cho việc viết lại URL hoặc xử lý tệp khác nhau dựa trên loại của chúng.
Match Location Based on File Extension with NGINX
Thông tin trong bài đăng này dựa trên NGINX 1.4.6 chạy trên Ubuntu Server 14.04 x64. Thông tin này có thể hoặc không hợp lệ với các phiên bản khác.
Tôi không giỏi về biểu thức chính quy (có lẽ tôi nên cải thiện điều này, tôi biết mà), vì vậy tôi thường cần phải tìm hiểu thêm về nó khi phải làm nhiều việc hơn là chỉ khớp mẫu đơn giản nhất, chẳng hạn như trong ngữ cảnh vị trí của NGINX.
Một tính năng rất hữu ích nếu bạn cần xử lý các loại tệp cụ thể khác nhau là khả năng khớp vị trí dựa trên phần mở rộng của tệp được yêu cầu. Và cũng rất dễ dàng, chỉ thị vị trí của bạn có thể trông giống như thế này:
{
// do something here
}
Tất nhiên, bạn có thể thay đổi phần mở rộng tùy theo nhu cầu của mình.
Ví dụ trên không phân biệt chữ hoa chữ thường (ví dụ, nó sẽ khớp với cả .js và .JS). Nếu bạn muốn nó phân biệt chữ hoa chữ thường, chỉ cần xóa * sau ~.
Bạn có thể làm gì với kết quả khớp lệnh tùy ý; thông thường, bạn sẽ viết lại kết quả vào chương trình phụ trợ để thực hiện một số loại xử lý trước hoặc bạn có thể chỉ muốn đọc các tệp từ các thư mục khác thay vì hiển thị chúng cho công chúng, khả năng là vô tận ;-)