2012-10-30 19 views
5

हमारे पास एक बहु-किरायेदार वेब एप्लिकेशन है जहां ग्राहक अपनी साइट के लिए कस्टम डोमेन सेट अप कर सकते हैं।HTTP 404 रीडायरेक्ट

जब कोई अवैध डोमेन अनुरोध किया जाता है तो हमें किसी भिन्न डोमेन पर एक त्रुटि पृष्ठ प्रदर्शित करने की आवश्यकता होती है। इसे संभालने का सही तरीका क्या है? मैंने सोचा कि शायद दूसरी साइट पर एक पृष्ठ पर 303 जारी करना जो हमेशा 404 लौटाता है। क्या यह खोज इंजन को खुश रखेगा?

+0

यह स्पष्ट करने के लिए कि आप क्या हासिल करने का प्रयास कर रहे हैं: मान लें कि आपके किसी भी ग्राहक ने www.example.com को जोड़ा नहीं है; यदि आपके वेब सर्वर पर www.example.com तक पहुंचने का अनुरोध किया गया है, तो आप चाहते हैं कि वह अनुरोध www.example2.com/notfound.htm पर स्वचालित रूप से रीडायरेक्ट हो जाए? क्या मैं सही ढंग से समझ गया? – Jesse

+0

हाँ आप सही ढंग से समझ गए हैं। –

+0

क्या यह स्थान पट्टी में एक और डोमेन होना चाहिए, या यह एक उचित त्रुटि संदेश प्रदर्शित करने के लिए पर्याप्त होगा? – PointedEars

उत्तर

2

मैं अभी भी इसकी आवश्यकता निर्धारित करने की कोशिश कर रहा हूं। चूंकि इसकी आवश्यकता क्यों है, इसकी बहुत सारी जानकारी प्रदान नहीं की जाती है। ऐसे कई मेजबान हैं जो उपयोगकर्ताओं को अपने लिए स्थान बनाने देते हैं। जब कोई त्रुटि होती है तो यह स्थानीय 404 से जुड़ा होता है। तो 404 के लिए किसी अन्य डोमेन पर जाने की आवश्यकता क्यों है? डोमेन और उप डोमेन के साथ त्रुटि दस्तावेज़ 404 सेट करने के रूप में। स्थानीय 404 उन सभी के लिए बुलाया जाता है। यह मुख्य डोमेन के लिए केवल 404 नहीं है, जबकि उप डोमेन को अनजान छोड़ दिया जाता है। उपयोगकर्ताओं को कस्टम डोमेन सेट अप करने की अनुमति देने के लिए मैं अनुमान लगा रहा हूं कि एक टाइपो था। और आपका मतलब "कस्टम उप डोमेन" था। जब तक कि यह सही न हो, और यह किसी भी तरह से ग्राहकों को आपके द्वारा होस्टिंग पैकेज खरीदने की अनुमति देने के लिए। जिसके लिए वे अपने ग्राहकों को वापस बेच सकते हैं। यदि उत्तरार्द्ध सही है। आपको बस अपने पर्यावरण को सही तरीके से स्थापित करने की आवश्यकता होगी। हालांकि मुझे लगता है कि आप उप डोमेन का मतलब है।

ErrorDocument 404 /404.html

वहाँ नीचे करने के लिए कुछ बेहतर तरीके हैं। बस सबसे तेज आपूर्ति। किसी अन्य डोमेन आप अभी भी कर सकते हैं करने के लिए 404 बाउंस करने के लिए चाहते हैं के लिए के रूप में:

  • .htaccess में कार्य करें:

    ErrorDocument 404 /404.html 
    
  • स्थानीय 404.html उपयोग में:

    <meta http-equiv="refresh" content="0; url=http://example.com/"> 
    

मन अन्य विधियों का उपयोग कर सकते हैं।

0

खोज इंजन को खुश रखने के लिए, 404 डोमेन मास्किंग द्वारा अमान्य डोमेन से होने दें। यह समय के साथ बहुत सारे रीडायरेक्ट के कारण खराब प्रतिष्ठा जमा करने से रोक देगा। कैनोनिकल दस्तावेज़ पर कभी-कभी रीडायरेक्ट करना अच्छा होता है क्योंकि इसका मतलब है कि आप खोज रस के लिए योग्य कैनोनिकल आईआरआई पर रीडायरेक्ट करके DRY का अभ्यास कर रहे हैं (स्वयं को दोहराएं)। अमान्य कस्टम डोमेन आईआरआई को याद रखने से खोज इंजन को रोकने के लिए 404 पेज पर मेटा नोंडेक्स का उपयोग करें।

1

सबसे पहले, अपने वेब होस्ट पर अपने नियंत्रण कक्ष में एक एप्लिकेशन खोजने का प्रयास करें, जो आपको एक त्रुटि पृष्ठ बनाने की अनुमति देगा। यदि आप cPanel का उपयोग कर रहे हैं, तो इस एप्लिकेशन को त्रुटि पृष्ठ नाम दिया गया है जो उन्नत शीर्षलेख के साथ शीर्षक है। इस ऐप को ढूंढने के बाद, अब (नहीं मिला) त्रुटि पृष्ठ की एक फ़ाइल बनाएं। cPanel में, वहाँ विशिष्ट हैं "रेफ़रिंग URL", "आगंतुक के आईपी पते", "का अनुरोध किया गया URL", "सर्वर नाम", "आगंतुक का ब्राउज़र" और "पुन: निर्देशित स्थिति कोड" इस एसएसआई-सक्षम फ़ाइल के लिए टैग, और 404 त्रुटि पृष्ठ को सहेजने के बाद, इसे एक फ़ाइल के विस्तार के साथ 404.shtml में सहेजा जाएगा जो एक वेब सर्वर द्वारा एसएसआई-सक्षम HTML फ़ाइल के रूप में मान्यता प्राप्त है। यदि कभी त्रुटि पृष्ठ ऐप नहीं है।अपने सी-पैनल में, .shtml एक्सटेंशन के साथ मैन्युअल रूप से एक त्रुटि पृष्ठ बनाने का प्रयास करें यदि आपका सर्वर इसे अनुमति देने के लिए कॉन्फ़िगर किया गया है। यदि यह स्वीकार्य नहीं है या फ़ाइल अपठनीय हो जाती है, तो आप अभी भी एक और एक्सटेंशन का उपयोग कर सकते हैं, लेकिन वेब सर्वर के लिए, इसे एसएसआई-सक्षम HTML फ़ाइल के रूप में पहचाना नहीं गया है।

सबसे खाली तरीका सभी रिक्त सबडोमेन को रीडायरेक्ट करना है और /404.shtml में रीडायरेक्ट नहीं करना है, लेकिन सबसे पहले, सुनिश्चित करें कि आपके खाते में एक पुनःलेख इंजन है। अब हम उन सभी सबडोमेन को mod_rewrite के साथ फिर से लिखने जा रहे हैं। अपने फ़ाइल प्रबंधक में .htaccess फ़ाइल ढूंढने का प्रयास करें। वह फ़ाइल अक्सर उसी फ़ोल्डर में पाई जाती है जहां आपका index पृष्ठ स्थित होता है। अगर ऐसी कोई फ़ाइल नहीं है, तो आप उस फ़ोल्डर में एक नया बना सकते हैं जहां आपका index स्थित है। यह कोड आपके खाली .htaccess स्रोत के शीर्ष पर होना चाहिए, और यह न निकालें इस के बाद की स्थिति और नीचे दिए गए नियमों के निम्नलिखित सेट का परीक्षण करते हुए:

Options +FollowSymlinks 
RewriteEngine on 

और दो लाइनों के नीचे इस निर्देशों पेस्ट करने की कोशिश कोड से ऊपर:

RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
Rewrite ^(.*) /404.shtml 

निर्देशों के ऊपर काम नहीं किया है, तो नीचे दिए गए निम्न प्रयास करें:

RewriteCond %{REQUEST_URI} !-f 
RewriteCond %{REQUEST_URI} !-d 
Rewrite ^(.*) /404.shtml 

हालांकि, अगर आप redirec नहीं करना चाहता था उन रिक्त सबडोमेन नहीं, नियम के फ़ाइल एक्सटेंशन के बाद बस [R] ध्वज जोड़ें, ध्वज से पहले एक ही स्थान को न भूलें।

संबंधित मुद्दे