2016-02-26 18 views
9

मैं सबडोमेन के साथ उपयोग के लिए प्रतिक्रिया राउटर सेट करना चाहता हूं। मुझे यकीन नहीं है कि सबडोमेन प्रॉक्सीइंग के लिए तर्क झूठ बोलना चाहिए।प्रतिक्रिया राउटर में सबडोमेन

मैं चाहता हूँ:

roxy.coolestblog.com/profile मार्ग को coolestblog.com/roxy/profile मार्ग को mohammed.coolestblog.com/profile को coolestblog.com/mohammed/profile benben.coolestblog.com/profile रूट करने के लिए करने के लिए coolestblog.com/benben/profile

के लिए एक और उपयोग के मामले:

en.coolestblog.com/some-article मार्ग को coolestblog.com/en/some-article fr.coolestblog.com/un-article के लिए रास्ते में करने के लिए करने के लिए coolestblog.com/fr/un-articlecoolestblog.com/es/una-article

पर रूट करने के लिए पहले से ही यह सबडोमेन के बिना काम कर रहा है।

मैं इसे कैसे प्राप्त कर सकता हूं ताकि यह क्लाइंट और सर्वर दोनों पर काम करे?

+0

क्या आपको इसका कोई समाधान मिला? ऐसा लगता है कि मेरे पास एक ही ज़रूरत है ... –

उत्तर

1

ब्राउज़र इतिहास API हमारी क्षमता को सीमित करता है, लेकिन हम इसे पूरा करने के लिए window.location के साथ सीधे बातचीत कर सकते हैं।

बस अपने रूटर सेट करने से पहले, आप URL कुछ ऐसा करने से संशोधित कर सकते हैं:

let host = window.location.host; 
let protocol = window.location.protocol; 
let parts = host.split("."); 
let subdomain = ""; 
// If we get more than 3 parts, then we have a subdomain 
// INFO: This could be 4, if you have a co.uk TLD or something like that. 
if (parts.length >= 3) { 
    subdomain = parts[0]; 
    // Remove the subdomain from the parts list 
    parts.splice(0, 1); 
    // Set the location to the new url 
    window.location = protocol + "//" + parts.join(".") + "/" + subdomain; 
} 
बेशक

, यह अपने चेतावनियां है। उदाहरण के लिए, यदि आप अपने होस्ट नाम को स्पष्ट रूप से नहीं जानते हैं, तो आप सही ढंग से निर्धारित नहीं कर सकते कि कोई सबडोमेन है या नहीं। यह कोई यूआरएल क्या होना चाहिए इसके बारे में कोई धारणा नहीं है, लेकिन इसके लिए हल करना मुश्किल होगा।

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