नग्नेक्स स्थान ब्लॉक में "@" पर साइन-इन का क्या मतलब है?


20

मुझे यहाँ कुछ प्रश्न और उत्तर मिले हैं जो इस वाक्य रचना का उपयोग करते हैं:

location @default {
  # ...
}

location /somewhere {
    try_files $uri @default;
}

मैंने Googles पर उच्च और निम्न खोज की है और मुझे इसका कोई भी दस्तावेज़ नहीं मिल रहा है। इसका क्या मतलब है और इसके कुछ व्यावहारिक उपयोग क्या हैं? यह चर घोषणा और असाइनमेंट के कुछ प्रकार है? नौसिखिया प्रश्न के लिए क्षमा करें।

जवाबों:


10

उत्तर आधिकारिक दस्तावेज में है

"@" उपसर्ग एक नामित स्थान को परिभाषित करता है। इस तरह के स्थान का उपयोग नियमित अनुरोध प्रसंस्करण के लिए नहीं किया जाता है, बल्कि अनुरोध पुनर्निर्देशन के लिए उपयोग किया जाता है। वे नेस्टेड नहीं हो सकते हैं, और नेस्टेड स्थान नहीं हो सकते।


37
स्पष्टीकरण के रूप में, यह बिल्कुल कुछ भी नहीं कहता है।
स्टेफानो बोरीनी

तो यह विशेष रूप से आंतरिक के साथ एक सामान्य ब्लॉक होने के लिए अलग नहीं है?
जेम्स

14

इस उदाहरण में कि आप अपने प्रश्न में उद्धृत करते हैं:

location @default {
  # ...
}

location /somewhere {
  try_files $uri @default;
}

यदि आने वाला अनुरोध http: // आपके-डोमेन / कहीं पर प्राप्त होता है , तो स्थान मेल खाता है / कहीं है और यह दो स्थानों पर क्रमिक रूप से एक प्रतिक्रिया खोजने के लिए कोशिश करता है, जैसा कि try_files निर्देश द्वारा निर्दिष्ट है, पहली सफल कोशिश के साथ जवाब देना।

  1. पहले यह परीक्षण करता है कि कहीं स्थान पर फ़ाइल है / कहीं और, यदि फ़ाइल मौजूद है, तो उसे प्रतिक्रिया में लौटा दिया जाता है।
  2. यदि यह विफल रहता है, तो यह try_files फ़ॉलबैक विकल्प, @default की कोशिश करता है, जिसे एक नाम_लोकेशन कहा जाता है । इस name_location की प्रतिक्रिया location @defaultनिर्देश द्वारा निर्दिष्ट की गई है । एक name_location किसी आने वाले अनुरोध से मेल नहीं खाएगा, और इसका उपयोग अन्य स्थान निर्देशों में प्रतिक्रिया निर्दिष्ट करने के लिए संदर्भ द्वारा किया जाता है।

इस तरह, यदि एक बयान से बचा जा सकता है (यदि फ़ाइल मौजूद है, तो उसका उपयोग करें, अन्यथा स्थान @default निर्देश में निर्दिष्ट करें)। तो यह एक अगर हालत के लिए एक आशुलिपि के रूप में इस्तेमाल किया जा सकता है। "अगर" कथन निश्चित रूप से नगनेक्स लेखकों ( यदि बुराई है ) द्वारा "गलत तरीके से" हैं क्योंकि उनकी कुछ सीमाएं हैं और वे अपेक्षित परिणाम नहीं दे सकते हैं।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.