8

मैं और कैसे यह तो मैं बस अपना आदर्श परिदृश्य की व्याख्या करने के लिए जा रहा हूँ कहने के लिए पता नहीं और उम्मीद है कि तुम मेरे लिए यह कैसे लागू करने के लिए व्याख्या कर सकते हैं ...सास एप्लिकेशन कैसे बनाएं?

मैं Zend के साथ एक आवेदन पत्र बना रहा हूं फ्रेमवर्क जो DreamHost के साथ होस्ट किया जाएगा। एप्लिकेशन अपने डोमेन पर होस्ट किया जाएगा (यानी example-app.com)। असल में, उपयोगकर्ता साइन अप करने में सक्षम होना चाहिए, अपना डोमेन sampleuser.example-app.com या example-app.com/sampleuser प्राप्त करें जो इंगित करता है कि ऐप के अपने उदाहरण की तरह क्या दिखता है, जो वास्तव में एक उदाहरण है यूआरएल के आधार पर विभिन्न सामग्री की सेवा करना।

आखिरकार, मैं चाहता हूं कि मेरे उपयोगकर्ता अपना डोमेन (जैसे foobar.com) बनाने में सक्षम हों जो sampleuser.example-app.com को इंगित करता है, जैसे कि foobar.com पर आने वाले विज़िटर यह नहीं देखते कि साइट है वास्तव में example-app.com से सेवा दी जा रही है।

मुझे नहीं पता कि उन चीज़ों में से अधिकांश को कैसे करना है। यह प्रक्रिया कैसे काम करती है? क्या मुझे अपाचे के साथ कुछ फंकी चीजें करने की ज़रूरत है या क्या यह ड्रीमहोस्ट जैसे किसी तृतीय पक्ष होस्ट के साथ किया जा सकता है?

अद्यतन: सलाह के लिए धन्यवाद! मैंने बुलेट काटने और वाइल्डकार्ड सबडोमेन का उपयोग करने के लिए अपनी होस्टिंग योजना को अपग्रेड करने का निर्णय लिया है। यह अपेक्षाकृत सस्ता है! मुझे डोमेन पुनर्विक्रेता कार्यक्रमों के बारे में भी पता चला, जैसे opensrs.com, जिनके पास अपना स्वयं का एपीआई है। मुझे लगता है कि इनमें से एक एपीआई का उपयोग मेरे डोमेन पंजीकरण मुद्दे का समाधान होगा।

उत्तर

10

सबडोमेन आसान हैं। वातावरण की मेजबानी में, ज्यादातर मामलों में, अपाचे को मुख्य डोमेन के नीचे सभी सबडोमेन कॉल को पकड़ने के लिए कॉन्फ़िगर किया गया है। आपको बस वाइल्डकार्ड DNS परिभाषित करने की आवश्यकता है, इसलिए * .example-app.com आपके सर्वर के आईपी को इंगित करता है। फिर आपकी वेबसाइट उन सबडोमेन नामों पर सभी कॉल पकड़ लेनी चाहिए।

अन्य डोमेन कठिन हैं। उन्हें अपाचे में वर्चुअल होस्ट के रूप में कॉन्फ़िगर करने की आवश्यकता है - http://httpd.apache.org/docs/1.3/vhosts/name-based.html देखें - इसका मतलब है कि इसे स्वचालित करना मुश्किल होगा, खासकर वातावरण को होस्ट करने में - जब तक कि आपका होस्ट आपको ऐसा करने के लिए कुछ एपीआई नहीं देता है (आसान और अधिक व्यवहार्य परिदृश्य होगा आपकी वेबसाइट पर एक विशिष्ट आईपी असाइन किया गया है, तो आप अपने अपाचे के साथ सभी को पकड़ सकते हैं - संभवतया आपके होस्टिंग कंट्रोल पैनल का उपयोग करके कॉन्फ़िगर करना संभव है या बॉक्स से बाहर काम करता है - और उसके बाद बस DNS सर्वर को अपने आईपी पर इंगित करें)।

फिर, के बाद आप अपनी वेबसाइट के लिए सभी आवश्यक कॉल भेजने के लिए अपना अपाचे कॉन्फ़िगर किया है, तो आप उपडोमेन प्रति आवेदन विभाजन इस तरह से differnetiate कर सकते हैं:

  • HTTP अनुरोध से मेजबान हैडर
  • एक है मिल डेटाबेस तालिका जिसमें आप सभी सबडोमेन नामों की सेवा कर रहे हैं
  • उदाहरण डेटाबेस, या उपयोगकर्ता, आईडी निर्धारित करने के लिए उस डेटाबेस तालिका में एक लुकअप करें और डेटा को फ़िल्टर करने के लिए बाद में इसका उपयोग करें या डेटाबेस का चयन करें, यदि आप "डेटाबेस" के साथ जाएंगे प्रति आवेदन उदाहरण "स्कीमा।

गुड लक :)

+1

मैं एक ऐसी ही वास्तुकला के साथ एक आवेदन चलाने के लिए और के रूप में वर्णित यह काम करता है। यह सुनिश्चित करना सुनिश्चित करें कि आप साझा होस्टिंग का उपयोग करते हुए वाइल्डकार्ड होस्ट (* .domain.tld) ​​सेट अप कर सकते हैं। –

+0

मैं साझा होस्टिंग का उपयोग कर रहा हूं, और वाइल्डकार्ड सबडोमेन समर्थित नहीं है। मैं वाइल्डकार्ड समर्थन के लिए अपना खाता और याचिका अपग्रेड कर सकता हूं, लेकिन यह इसके लायक नहीं लगता है। क्या यह इस तरह से किया जा सकता है कि वाइल्डकार्ड का उपयोग न करें? धन्यवाद! – Andrew

+0

यदि आप अपनी वेबसाइट पर प्रत्येक होस्ट हेडर जोड़ने के इच्छुक हैं (या इसे स्वचालित करने का कोई तरीका है - फिर, अपने होस्ट से कुछ एपीआई की जांच करें) - फिर हाँ, यह संभव है।आपकी वेबसाइट को उन सभी पतों द्वारा कॉल का जवाब देना है - वाइल्डकार्ड DNS (या "किसी भी डोमेन" परिदृश्य के लिए असाइन किया गया आईपी इष्टतम होगा। यदि आपका होस्ट आपको ऐसे विकल्प नहीं देता है, तो इसे बदलें। –

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