2009-03-11 12 views
5

मुझे निम्न सिस्टम को पूरा करने के लिए समाधान खोजने के लिए थोड़ी देर की तलाश है।एक डोमेन से कई वेबसाइटों को प्रबंधित करें

मैं एक PHP सिस्टम बनाना चाहता हूं, मान लें, डोमेन ए। इस डोमेन पर मैं एक व्यवस्थापक को एक नई वेबसाइट बनाने के लिए अनुमति दूंगा। इस वेबसाइट में केवल पाठ के टुकड़े हैं, जो सभी डेटाबेस में संग्रहीत हैं। यह, मुझे पता है कि कैसे करना है।

हालांकि, अब मैं यह संभव बनाना चाहता हूं कि डोमेन बी पर सर्फ करने वाले विज़िटर को अदृश्य रूप से डोमेन_.com/gateway.php?refdomain=domainB & पृष्ठ = xxx या कुछ समान उदाहरण के लिए रीडायरेक्ट किया जाएगा। मेरे पास एक अस्पष्ट विचार है जो इसे .htaccess द्वारा किया जाना चाहिए, लेकिन मुझे नहीं पता कि मैं इसे सबसे आसान तरीके से कैसे कर सकता हूं। उदाहरण के लिए डोमेन बी पर कुछ पोस्ट या जीईटी अनुरोध हैं, तो इसे काम करना चाहिए। http://www.domainB.com/test.gif से जुड़ी छवियों को अदृश्य रूप से लोड किया जाना चाहिए www.domainA.com।

मुझे यह भी पता है कि कुछ सीएमएस सिस्टम (जैसे ड्रूपल) हैं जो इस सुविधा की अनुमति देते हैं, इसलिए यह संभव है, मुझे नहीं पता कि कैसे।

किसी भी सलाह है कि मुझे सही दिशा में इंगित कर सकता है के लिए धन्यवाद, तरह सादर, अंक

उत्तर

0

असल में, आप अपने सभी डोमेन को एक ही निर्देशिका में इंगित करना चाहेंगे (शायद आपके vhosts में वाइल्डकार्ड का उपयोग करके) और फिर urlrewrite सेटअप करें; उदाहरण के लिए this question पर देखें, और यह एक .htaccess फ़ाइल या अपाचे कॉन्फ़िगरेशन में हो सकता है।

सभी अनुरोध जो आने वाले हैं वे उसी गेटवे.एफ़पी पर जाएंगे और आप वर्तमान डोमेन निकाल सकते हैं और उदाहरण के लिए $_SERVER['REDIRECT_QUERY_STRING'], $_SERVER['REQUEST_URI'] और $ _SERVER['SERVER_NAME'] का उपयोग कर अनुरोध कर सकते हैं। $_SERVER देखें। फिर आप सही फाइल भेजने के लिए अपने गेटवे.एफ़पी में सक्षम होंगे।

RewriteCond %{HTTP_HOST} . 
RewriteCond %{HTTP_HOST} !^www\.domainA\.com 
RewriteRule (.*) http://www.domainA.com/gateway.php?realpath=$1 [L,QSA] 

फिर आप parse_url का उपयोग कर "realpath" अपने प्रवेश द्वार लिपि में पार्स तथा उचित कार्रवाई कर सकता है:

+0

यह ब्राउज़र के पता बार में यूआरएल नहीं बदलेगा, यह उपयोगकर्ता के लिए पारदर्शी है। – lpfavreau

0

इस्तेमाल कर सकते हैं आप Drupal की तरह एक सीएमएस का उपयोग करते हैं, तो आप चाहिए पोर्टल उपनाम का उपयोग करके इन्हें असाइन करने में सक्षम हो। उपनाम का उपयोग करके आप बनाए गए विभिन्न "साइटों" को इंगित करने के लिए अलग-अलग डोमेन असाइन करने में सक्षम होंगे।

+0

करना चाहता था मुझे लगता है कि वह एक सीएमएस का उपयोग कर से बचने के लिए कोशिश कर रहा है हो सकता है। –

2

क्या आप इन दोनों को एक ही मशीन पर होस्ट कर रहे हैं? यदि ऐसा है, तो अपाचे में VirtualHosts जैसे कुछ आपके लिए इसे हल कर सकते हैं।

mod_alias और mod_rewrite आपके लिए कुछ उपयोग भी हो सकता है।

+0

अपाचे वर्चुअलहोस्ट में प्रॉक्सीपास और प्रॉक्सीपास रिवरसे की तरह कुछ है जिसका उपयोग राउटर की तरह अभिनय अपाचे के साथ कई वर्चुअलहोस्ट को परिभाषित करने के लिए किया जा सकता है। मुझे यकीन है कि यह स्थिर डोमेन के लिए काम करता है, बिल्कुल सही नहीं है कि यह – Sathish

+0

प्रश्न में उल्लिखित डोमेन बनाने के लिए काम करेगा, ठीक है, आप किसी भी डोमेन को "बना" नहीं सकते ... आपको इसे पंजीकृत करना होगा। पंजीकरण के हिस्से के रूप में, बस इसे डोमेन ए के समान आईपी पर इंगित करें। यदि आप इसे सही तरीके से कॉन्फ़िगर करते हैं तो वर्चुअलहोस्ट बाकी की देखभाल करेंगे। – rmeador

+0

हालांकि, इस सुझाव के लिए धन्यवाद, मुझे लगता है कि अगर मैं वर्चुअलहोस्ट का उपयोग करता हूं, तो मुझे फ़ाइलों को उस वेबसाइट के प्रत्येक FTP खाते में कॉपी करने की आवश्यकता होगी। मेरा लक्ष्य कई साइटों (डोमेन) को चलाने और केवल फाइलों के साथ एक खाता बनाए रखने के लिए है। सभी डेटा डेटाबेस में संग्रहीत हैं, फाइलों में नहीं। – Digits

0

ठीक है, यहाँ एक बहुत ही सरल उदाहरण है।

आप अपने पुनर्लेखन नियमों के साथ और अधिक जटिल हो छवियों, आदि के लिए अलग-अलग करने के लिए यदि आप

+0

जब आप इन प्रकार के पुनर्लेखन नियमों का उपयोग करते हैं, तो क्या यह वास्तव में उपयोगकर्ता ब्राउज़र में पता बदलता है? क्या यह 301 रीडायरेक्ट करता है? यह अवांछित होगा, मुझे लगता है। मुझे आशा है कि यह सर्वर के भीतर आंतरिक रूप से इसे संभालेगा। कृपया सलाह दें, मैं काफी उत्सुक हूं। –

+0

मुझे लगता है कि यह काम कर सकता है! मैंने कुछ ऐसा ही इस्तेमाल किया लेकिन मुझे एहसास नहीं हुआ कि यह डोमेन पर इस्तेमाल किया जा सकता है। मैं निश्चित रूप से यह कोशिश करूँगा। धन्यवाद! – Digits

+0

@ जोश - नहीं, यह 301 रीडायरेक्ट नहीं करता है (ठीक है, अगर आप इसे चाहते हैं तो यह हो सकता है, लेकिन जैसा लिखा है यह नहीं होगा)। यह कड़ाई से एक आंतरिक पुनर्निर्देशन है। ब्राउज़र कभी भी नया यूआरएल नहीं देखता है –

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