मेरे पास मेरे सर्वर पर स्थिर .html
फ़ाइलों के कई सेट हैं, और मैं सीधे उनकी सेवा करने के लिए nginx का उपयोग करना चाहता हूं। .html
फ़ाइल कि /home/www-data/mysite/public/doc/foo/bar.html
पर स्थित है के साथकिसी दिए गए निर्देशिका की उपनिर्देशिका से स्थिर फ़ाइलों को सेवा देने के लिए nginx का उपयोग करें
www.mysite.com/public/doc/foo/bar.html
: उदाहरण के लिए, nginx निम्नलिखित पैटर्न के एक यूआरआई कार्य करना चाहिए। आप सेट नाम के रूप में foo
और फ़ाइल नाम के रूप में bar
के बारे में सोच सकते हैं।
मुझे आश्चर्य है कि nginx config का निम्न भाग काम करना होगा या नहीं:
server {
listen 8080;
server_name www.mysite.com mysite.com;
error_log /home/www-data/logs/nginx_www.error.log;
error_page 404 /404.html;
location /public/doc/ {
autoindex on;
alias /home/www-data/mysite/public/doc/;
}
location = /404.html {
alias /home/www-data/mysite/static/html/404.html;
}
}
दूसरे शब्दों में, पैटर्न /public/doc/.../....html
nginx द्वारा नियंत्रित किया जा करने के लिए जा रहे हैं के सभी अनुरोधों, और अगर किसी भी यूआरआई नहीं है मिला, एक डिफ़ॉल्ट www.mysite.com/404.html
वापस आ गया है।
टिप के लिए धन्यवाद! एक सवाल हालांकि, क्या मुझे यहां '^ (/ public/doc /) 'जैसे regex का उपयोग करने की आवश्यकता है? या '/ public/doc /' ठीक है? – MLister
बस/सार्वजनिक/डॉक्टर/इस मामले में पर्याप्त है, और वास्तव में थोड़ा बेहतर है क्योंकि यह रेगेक्स मिलान के (छोटे) अतिरिक्त बोझ नहीं करता है – cobaco