2012-01-06 11 views
10

मैं अपने खाते में सबडोमेन CNAMEd के साथ कस्टम मूल विकल्प का उपयोग कर अपनी वेबसाइट के लिए छवियों, सीएसएस और जेएस फ़ाइलों की सेवा करने के लिए क्लाउडफ्रंट का उपयोग कर रहा हूं। यह बहुत अच्छी तरह से काम करता है।क्लाउडफ़्रंट कस्टम उत्पत्ति डुप्लिकेट सामग्री समस्याओं का कारण बन रही है

मुख्य साइट: www.mainsite.com

  1. static1.mainsite.com
  2. static2.mainsite.com

नमूना पेज: www.mainsite.com/summary/page1। htm

यह पृष्ठ static1.mainsite.com/images/image1.jpg से एक छवि कॉल

हैं क्लाउडफ़्रंट ने पहले ही छवि को कैश नहीं किया है, यह छवि www.mainsite.htm/images/image1.jpg से प्राप्त होती है

यह सब ठीक काम करता है।

समस्या यह है कि गूगल चेतावनी दोनों में पाया जा रहा है के रूप में पेज की सूचना दी है है:

पेज केवल www से सुलभ होना चाहिए। साइट। पेज CNAME डोमेन से पहुंच योग्य नहीं होना चाहिए।

मैंने .htaccess फ़ाइल में एक मॉड रीराइट डालने का प्रयास किया है और मैंने मुख्य स्क्रिप्ट फ़ाइल में बाहर निकलने की कोशिश की है।

लेकिन जब क्लाउडफ़्रंट को अपने कैश में फ़ाइल का स्थिर 1 संस्करण नहीं मिलता है, तो यह इसे मुख्य साइट से कॉल करता है और फिर इसे कैश करता है।

प्रश्न तो कर रहे हैं:

1. What am I missing here? 
2. How do I prevent my site from serving pages instead of just static components to cloudfront? 
3. How do I delete the pages from cloudfront? just let them expire? 

आपकी मदद के लिए धन्यवाद।

जो

उत्तर

0

आप robots.txt फ़ाइल जोड़ सकते हैं और static1.mainsite.com के तहत सूचकांक सामग्री के लिए नहीं क्रॉलर्स बताने के लिए की जरूरत है।

क्लाउडफ्रंट में आप होस्टनाम को नियंत्रित कर सकते हैं जिसके साथ क्लाउडफ्रंट आपके सर्वर तक पहुंच जाएगा। मैं क्लाउडफ्रंट को देने के लिए एक विशिष्ट होस्टनाम का उपयोग करने का सुझाव देता हूं जो नियमित वेबसाइट होस्टनाम से अलग है। इस तरह आप उस होस्टनाम के लिए अनुरोध का पता लगा सकते हैं और robots.txt की सेवा कर सकते हैं जो सब कुछ अस्वीकार करता है (आपकी नियमित वेबसाइट robots.txt के विपरीत)

25

[मुझे पता है कि यह धागा पुराना है, लेकिन मैं इसे मेरे जैसे लोगों के लिए उत्तर दे रहा हूं जो इसे महीनों बाद देखते हैं।]

जो मैंने पढ़ा और देखा है, क्लाउडफ्रंट लगातार अनुरोधों में खुद को पहचान नहीं पाता है। लेकिन आप क्लाउडफ्रंट वितरण पर robots.txt को ओवरराइड करके इस समस्या को हल कर सकते हैं।

1) एक नई एस 3 बाल्टी बनाएं जिसमें केवल एक फ़ाइल है: robots.txt। यह आपके क्लाउडफ्रंट डोमेन के लिए robots.txt होगा।

2) एडब्ल्यूएस कंसोल में अपने वितरण सेटिंग में जाएं और उत्पत्ति बनाएँ क्लिक करें। बाल्टी जोड़ें।

3) व्यवहार पर जाएं और क्लिक व्यवहार बनाएं: पथ पैटर्न: robots.txt मूल: (अपने नए बाल्टी)

4) एक उच्च प्राथमिकता दी जाएगी (कम संख्या पर robots.txt व्यवहार सेट करें)।

5) invalidations में जाओ और /robots.txt अमान्य हो जाएगा।

अब abc123.cloudfront.net/robots.txt बाल्टी से परोसा जाएगा और बाकी सब कुछ अपने डोमेन से परोसा जाएगा। आप स्वतंत्र रूप से किसी भी स्तर पर क्रॉलिंग को अनुमति/अनुमति देने का विकल्प चुन सकते हैं।

एक और डोमेन/उपडोमेन भी एक बाल्टी के स्थान पर काम करेंगे, लेकिन क्यों मुसीबत में जाते हैं।

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