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
Cập nhật lần cuối: lúc 08:35:57 UTC 12 tháng 1, 2026
Bài viết này giải thích cách thực hiện 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ý các 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 viết 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ể không chính xác đối với các phiên bản khác.
Tôi không giỏi lắm về biểu thức chính quy (tôi biết là mình nên trau dồi thêm), vì vậy tôi thường cần phải tìm hiểu thêm về nó khi phải thực hiện những thao tác phức tạp hơn so với việc khớp mẫu đơn giản nhất, ví dụ 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ể theo cách 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à điều này cũng rất dễ dàng, chỉ thị vị trí của bạn có thể trông đơn giản như thế này:
{
// do something here
}
Dĩ nhiên, bạn có thể thay đổi phần mở rộng thành bất cứ thứ gì bạn cần.
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 dấu * sau dấu ~.
Bạn có thể tùy ý sử dụng kết quả khớp; thông thường, bạn sẽ viết lại nó cho một hệ thống phụ trợ thực hiện một số loại xử lý sơ bộ, hoặc bạn có thể chỉ muốn đọc các tệp từ các thư mục khác với những gì người dùng nhìn thấy, khả năng là vô tận ;-)
