nginx दिए गए अन्य सभी स्थानों को पकड़ता है


19

मेरे सर्वर पर कुछ स्थान हैं। मैं अन्य सभी स्थानों को पकड़ना चाहता हूं जो उपयोगकर्ता ब्राउज़र के माध्यम से देते हैं। उसको कैसे? उदाहरण के लिए

 server {
     ...
     location /location1 {
              do something;
     }
     location /location2 {
              do something;
     }
     location /all_other_locations {
            return 301 http://www.google.de
     }

जवाबों:


31

नगीनेक्स के स्थान उपसर्ग आधारित (रीजेक्सप्स को छोड़कर) हैं, इसलिए location /सभी अनुरोधों का मिलान तब तक किया जाता है जब तक कि अधिक विशिष्ट एक मैच न हो जाए।

server {
    location / {
        # catch all unless more specific location match
    }

    location /location1 {
        # do something
    }

    location /location2 {
        # do domething
    }
}

1
क्या होगा यदि आप /कुछ विशिष्ट से मेल खाना चाहते हैं और फिर बाकी सब कुछ कुछ और पकड़ा जाए? क्या आप तब वाइल्डकार्ड मिलान का उपयोग करेंगे?
टिम टिस्डाल

3
आह .. मुझे लगता है कि यह उपयोग करने के लिए हो सकता है location = /। स्पष्ट /अनुरोध इसके द्वारा मिलान किया जाएगा और बाकी सब location /कुछ तब तक चलेगा जब तक कि कुछ और मेल नहीं खाता।
टिम टीसडल
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.