मैं डिफ़ॉल्ट वर्चुअल होस्ट को अपाचे में 404 हेडर कैसे कॉन्फ़िगर करूं?


14

मुझे पता है कि इसी तरह के प्रश्न पूछे गए हैं, लेकिन उपलब्ध उत्तर बहुत स्पष्ट नहीं हैं, इसलिए कृपया मेरे साथ रहें।

<VirtualHost>Apache में कुछ s सेट करने के बाद , मैं _default_ ServerName कॉन्फ़िगर करना चाहूंगा ताकि यह 404 संदेश लौटाए। यानी, जब तक कि कुछ स्पष्ट रूप से उपलब्ध डोमेन होस्ट http हेडर में निर्दिष्ट नहीं किया जाता है, 404 वापस कर दें। (आदर्श रूप से कुछ ऐसा है जो अब-गैर-प्रासंगिक निर्देशिका को इंगित करने से अधिक प्रत्यक्ष है।)

किसी भी तरह की सहायता का स्वागत किया जाएगा।

जवाबों:


27

क्या आप ने कोशिश की:

पुनर्निर्देशित 404 /
ErrorDocument 404 "पृष्ठ नहीं मिला"

में VirtualHost डिफ़ॉल्ट?


धन्यवाद, यह किया! चूंकि यह मेरी निम्न स्तर की विशेषज्ञता है, इसलिए मैं अपने साथी newbies के लिए जोड़ सकता हूं कि डिफ़ॉल्ट सर्वर पहले दिखाई दे। (यह मुझे पता लगाने में
थोड़ा समय

ध्यान दें कि यदि ErrorDocumentउस vhost के अंदर किसी फ़ाइल या url के अंक, तो यह 404 भी लौटाएगा, इस प्रकार एक आंतरिक सर्वर त्रुटि उत्पन्न करता है।
सिरिल एन

यह उत्तर उन साइटों के लिए काम करेगा, जहां सभी vhost एक ही फ़ाइल में समाहित हैं (यूजीन फिदेलिन का उत्तर अधिक पूर्ण है)। A2ensite वाली प्रत्येक साइट के लिए अलग .conf फ़ाइलों का उपयोग करते समय, मैं यह पता नहीं लगा सका कि पहले डिफ़ॉल्ट (404) कॉन्फ़िगरेशन को कैसे लोड किया जाए।
एंड्रयू स्विफ्ट

Redirect 404 /डिफ़ॉल्ट अपाचे "नॉट फाउंड" पेज को दिखाने के लिए पर्याप्त है और यह एक विशिष्ट वर्चुअलहोस्ट के अंदर भी काम करता है (ऐसे मामले हो सकते हैं जब आप इसे पूरी तरह से Google SERPs से गायब करने के लिए 404 पर लौटना चाहें)
lucaferrario

1

यहाँ 000-default.conf का उदाहरण दिया गया है जो अगर Apache के लिए सर्वर नाम कॉन्फ़िगर नहीं किया गया है तो 404 त्रुटि लौटाएगा

<VirtualHost *:80>
  ServerName default
  Redirect 404 /
</VirtualHost>
<VirtualHost _default_:80>
  Redirect 404 /
</VirtualHost>

मैं पुष्टि कर सकता हूं कि दूसरा भाग तब काम करता है जब सभी vhosts को एक फ़ाइल में कॉन्फ़िगर किया गया है (मैं इसे पहले रखता हूं)।
एंड्रयू स्विफ्ट

1
404 के बजाय 503 (सेवा अनुपलब्ध) का उपयोग करना बेहतर हो सकता है, लेकिन मुझे संदेह है कि व्यवहार में इससे बहुत अंतर पड़ता है, निगरानी उपकरण आमतौर पर किसी भी गैर-200 कोड के लिए सतर्क रहेंगे।
क्रिस

यह http के लिए पूरी तरह से काम कर रहा है, लेकिन https के लिए नहीं जब मैं पोर्ट 443 के साथ करता हूं। क्या आपके पास इसके बारे में कोई विचार है?
सोहेल अहमद
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.