के लिए हमेशा एक कस्टम 404 वापस करने के लिए nginx कैसे प्राप्त करें I nginx 0.8.53 कुछ वर्चुअल होस्ट्स के साथ स्थापित है जो मैं चाहता हूं। हालांकि वर्चुअल होस्ट्स पर nginx के 'सर्वश्रेष्ठ मिलान' के कारण मुझे एक विशिष्ट वर्चुअल होस्ट के लिए सभी अनुरोधों को पकड़ने के लिए एक डिफ़ॉल्ट होस्ट जोड़ने की आवश्यकता है। मैं डिफ़ॉल्ट होस्ट को 404 पेज वापस करने के लिए चाहता हूं जो यह नहीं बताता कि मैं nginx 0.8.53 चला रहा हूं।डिफ़ॉल्ट होस्ट
मैं की तरह यह कुछ होना चाहिए ग्रहण:
# The default server.
#
server {
listen 80 default_server;
server_name everythingelse;
# Everything is a 404
location/{
return 404;
}
error_page 404 /opt/local/html/404.html;
}
लेकिन यह अभी भी रिटर्न डिफ़ॉल्ट nginx 404 पृष्ठ है कि संस्करण संख्या .. ऐसा लगता है 'लौट 404' 'error_page' config पर ध्यान नहीं देता ..
आपका कोड उसे डिफ़ॉल्ट 404 पृष्ठ है जो वह कहता है कि वह नहीं चाहता है दे देंगे (और पहले से ही वैसे भी हो जाता है) और दूसरी (
Debian9
औरnginx/1.10.3
का उपयोग करते हुए) , error_page निर्देश आपको कस्टम त्रुटि पृष्ठ निर्दिष्ट करने की अनुमति देता है। वास्तव में, "त्रुटि_पृष्ठ 404/404।एचटीएमएल "का मतलब है nginx स्थापना फ़ोल्डर में 404.html फ़ाइल (डिफ़ॉल्ट 404 फ़ाइल) का उपयोग करें। यह" error_page 404 /path/to/any/other/404.html "भी हो सकता है, वैकल्पिक रूप से, वह डिफ़ॉल्ट फ़ाइल बदल सकता है खुद। – Dayoडिफ़ॉल्ट 404 पृष्ठ एक फ़ाइल नहीं है, और त्रुटि_पृष्ठ * फाइल सिस्टम पथ नहीं लेता है। यह आंतरिक रूप से दिए गए यूरी पर रीडायरेक्ट करता है, इसलिए यह /404.html की तलाश में जा सकता है। इसे जोड़ने की आवश्यकता हो सकती है स्थान = /404.html {आंतरिक;} या डिफॉल्ट 404 पेज को प्रदर्शित करने से रोकने के लिए, अब मैं इसके बारे में सोचता हूं, क्योंकि आंतरिक रीडायरेक्ट स्थान पर वापस आ जाएगा/और मुझे यकीन नहीं है कि वापसी 404 क्या है ; recursive_error_pages पर बिना किया जाएगा; (जो वैसे भी खराब होगा) – kolbyjack
"डिफ़ॉल्ट 404 पृष्ठ बिल्कुल एक फ़ाइल नहीं है" गलत है। आप इसे/usr/share/nginx/html/फ़ोल्डर में ढूंढ सकते हैं (रेडहाट पर - दूसरों के लिए अलग हो सकता है)। त्रुटि_पृष्ठ निर्देश एक यूरी लेता है जो वेबूट या एलियाड के तहत हो सकता है जरूरत है। – Dayo