मेरे आवेदन में मुझे स्थैतिक index.html फ़ाइल वापस करने के लिए स्थान "/" चाहिए, मैं एक फ़ोल्डर से स्थैतिक फ़ाइलों की सेवा के लिए "/ static" चाहता हूं और मैं चाहता हूं कि अन्य सभी अनुरोध 404 न लौटें। बाद में मैं एक WSGI सर्वर के लिए अन्य सभी अनुरोधों को पुनर्निर्देशित करने जा रहा हूं।
यह वर्तमान में मेरा कॉन्फ़िगरेशन है:
# Dev server.
server {
listen 1337;
charset UTF-8;
location / {
rewrite ^ static/index_debug.html break;
}
location /static {
alias /home/tomas/projects/streamcore/static;
}
}
स्थिर फ़ोल्डर पूरी तरह से काम कर रहा है, लेकिन "/" 404 NOT FOUND लौट रहा है। मैंने भी कोशिश की है:
alias /home/tomas/projects/streamcore/static/index_debug.html;
स्थान ब्लॉक में, लेकिन वह 500 आंतरिक सर्वर त्रुटि लौटाता है। ऐसा लगता alias
है कि सिंगल फाइल पसंद नहीं है। इसके अतिरिक्त मैंने कोशिश की है:
try_files static/index_debug.html;
लेकिन यह सर्वर को "try_files निर्देश में अमान्य संख्या तर्क" से शुरू होने से रोकता है। जाहिरा तौर पर try_files
वास्तव में आपको एक से अधिक फ़ाइल आज़माने की आवश्यकता होती है, जो कि वह व्यवहार नहीं है जिसकी मुझे तलाश है।
तो मेरा सवाल यह है: मैं हमेशा एक स्थिर फ़ाइल वापस करने के लिए एक स्थान ब्लॉक को कैसे कॉन्फ़िगर करूं?
संपादित करें: मैंने अन्य उत्तरों से देखा है जो alias
वास्तव में एकल फ़ाइल को तर्क के रूप में स्वीकार करना चाहिए, इसलिए मैंने कोशिश की:
location = / {
alias /home/tomas/projects/streamcore/static/index_debug.html;
}
लेकिन मैं अभी भी केवल 500 आंतरिक सर्वर त्रुटि प्राप्त करता हूं। "/" अनुरोध के लिए त्रुटि लॉग कहता है:
[अलर्ट] २ome११२ # ०: * / "/home/tomas/projects/streamcore/static/index_debug.htmlindex.html" निर्देशिका नहीं है
यह "index_debug.htmlindex.html" खोलने का प्रयास क्यों कर रहा है? मैं index
कहीं भी निर्देश का उपयोग नहीं कर रहा हूं ।
location =/
मेरे सुझाव की कोशिश कर रहा हूं कि मुझे 404 NOT FOUND मिले, साथ ही location /
मुझे 500 INTERNAL SERVER ERROR मिले।
location / { return 404; }
location = / {Index /home/tomas/projects/streamcore/static/index_debug.html;}
try_files static/index_debug.html static/index_debug.html;