NGINX के साथ फ़ाइल एक्सटेंशन के आधार पर स्थान का मिलान करें
प्रकाशित: 15 फ़रवरी 2025 को 1:18:59 am UTC बजे
आखरी अपडेट: 12 जनवरी 2026 को 8:35:55 am UTC बजे
यह आर्टिकल बताता है कि NGINX में लोकेशन कॉन्टेक्स्ट में फ़ाइल एक्सटेंशन के आधार पर पैटर्न मैचिंग कैसे करें, यह URL रीराइटिंग या फ़ाइलों को उनके टाइप के आधार पर अलग तरह से हैंडल करने के लिए उपयोगी है।
Match Location Based on File Extension with NGINX
इस पोस्ट में दी गई जानकारी Ubuntu Server 14.04 x64 पर चलने वाले NGINX 1.4.6 पर आधारित है। यह दूसरे वर्शन के लिए वैलिड हो भी सकती है और नहीं भी।
मैं रेगुलर एक्सप्रेशन में उतना अच्छा नहीं हूँ (मुझे पता है कि मुझे शायद इस पर काम करना चाहिए), इसलिए मुझे अक्सर इसके बारे में पढ़ना पड़ता है जब मुझे सबसे आसान पैटर्न मैचिंग से ज़्यादा कुछ करना होता है, जैसे कि NGINX का लोकेशन कॉन्टेक्स्ट।
अगर आपको खास फ़ाइल टाइप को अलग तरह से हैंडल करना है, तो यह बहुत काम की चीज़ है, यह रिक्वेस्ट की गई फ़ाइल के एक्सटेंशन के आधार पर लोकेशन मैच करने की सुविधा देता है। और यह बहुत आसान भी है, आपका लोकेशन डायरेक्टिव बस ऐसा दिख सकता है:
{
// do something here
}
बेशक, आप अपनी ज़रूरत के हिसाब से एक्सटेंशन बदल सकते हैं।
ऊपर दिया गया उदाहरण केस-इनसेंसिटिव है (उदाहरण के लिए, यह .js और .JS दोनों से मैच करेगा)। अगर आप इसे केस-सेंसिटिव बनाना चाहते हैं, तो बस ~ के बाद * हटा दें।
आप मैच के साथ क्या करते हैं यह आप पर है; आम तौर पर, आप इसे किसी बैक-एंड पर फिर से लिखेंगे जो किसी तरह की प्रीप्रोसेसिंग करता है, या आप फ़ाइलों को दूसरे फ़ोल्डर से पढ़ना चाह सकते हैं जो पब्लिक को नहीं दिखते, इसकी संभावनाएं अनगिनत हैं ;-)
