مطابقت مکان بر اساس پسوند فایل با NGINX
منتشر شده: ۱۵ فوریهٔ ۲۰۲۵ ساعت ۱:۲۱:۳۵ (UTC)
آخرین به روز رسانی: ۱۲ ژانویهٔ ۲۰۲۶ ساعت ۸:۳۵:۵۷ (UTC)
این مقاله نحوه تطبیق الگو بر اساس پسوند فایلها در زمینههای مکانی در NGINX را توضیح میدهد، که برای بازنویسی URL یا مدیریت متفاوت فایلها بر اساس نوع آنها مفید است.
Match Location Based on File Extension with NGINX
اطلاعات موجود در این پست بر اساس NGINX 1.4.6 است که روی Ubuntu Server 14.04 x64 اجرا میشود. ممکن است برای نسخههای دیگر معتبر باشد یا نباشد.
من در عبارات منظم خیلی خوب نیستم (چیزی که احتمالاً باید روی آن کار کنم، میدانم)، بنابراین اغلب وقتی مجبورم کاری بیش از سادهترین تطبیق الگو انجام دهم، مثلاً در زمینه موقعیت مکانی NGINX، باید در مورد آن مطالعه کنم.
یکی از مواردی که در صورت نیاز به مدیریت متفاوت انواع فایلهای خاص بسیار مفید است، امکان تطبیق مکان بر اساس پسوند فایل درخواستی است. و این نیز بسیار آسان است، دستورالعمل مکان شما میتواند به سادگی به این شکل باشد:
{
// do something here
}
البته، شما میتوانید افزونهها را به هر چیزی که نیاز دارید تغییر دهید.
مثال بالا به حروف کوچک و بزرگ حساس نیست (برای مثال، هم با .js و هم با .JS مطابقت خواهد داشت). اگر میخواهید به حروف کوچک و بزرگ حساس باشد، کافیست * را بعد از ~ حذف کنید.
اینکه با تطبیق چه میکنید به خودتان بستگی دارد؛ معمولاً آن را در یک back-end بازنویسی میکنید که نوعی پیشپردازش انجام میدهد، یا ممکن است بخواهید فایلها را از پوشههای دیگری غیر از آنچه برای عموم به نظر میرسد، بخوانید، امکانات بیپایان هستند ;-)
