Miklix

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.


Trang này được dịch máy từ tiếng Anh để có thể tiếp cận được với nhiều người nhất có thể. Thật không may, dịch máy vẫn chưa phải là công nghệ hoàn thiện, do đó có thể xảy ra lỗi. Nếu bạn thích, bạn có thể xem phiên bản tiếng Anh gốc tại đây:

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:

location ~* \.(js|css|html|txt)$
{
    // 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 ;-)

Chia sẻ trên BlueskyChia sẻ trên FacebookChia sẻ trên LinkedInChia sẻ trên TumblrChia sẻ trên XChia sẻ trên LinkedInGhim trên Pinterest

Mikkel Christensen

Về tác giả

Mikkel Christensen
Mikkel là người sáng lập và chủ sở hữu của miklix.com. Ông có hơn 20 năm kinh nghiệm làm lập trình viên máy tính/nhà phát triển phần mềm chuyên nghiệp và hiện đang làm việc toàn thời gian cho một tập đoàn CNTT lớn của Châu Âu. Khi không viết blog, ông dành thời gian rảnh rỗi cho nhiều sở thích, thú vui và hoạt động, có thể được phản ánh ở một mức độ nào đó trong nhiều chủ đề được đề cập trên trang web này.