2012-03-16 14 views
8

मेरी साइट में मैं उपयोगकर्ता के साथ उनके उपयोगकर्ता नाम का उपयोग करने के लिए एक कार्यक्षमता जोड़ना चाहता हूं।कोडनिर्देशक में गतिशील सबडोमेन बनाना चाहते हैं?

कोडिनेटर में अभी ठीक है, मैं उपयोगकर्ता को साइट पर लॉगिन करने और अन्य सामान करने के लिए अपने यूआरएल का उपयोग करने के लिए देना चाहता हूं।

उदाहरण के लिए:

मैं चाहता हूँ www.username.mysite.com/login या www.username.mysite.com/category

इसलिए यहाँ उपयोगकर्ता अपने क्रेडेंशियल के साथ लॉगिन और श्रेणी जोड़ सकते हैं। तो मेरे पास लॉगिन और श्रेणी के साथ मेरी साइट में दो नियंत्रक हैं।

तो रूट्स या। Htaccess के साथ ऐसा कैसे करें।

+0

की [(PHP) .htaccess फिरते हैं, तो उप बनाएं] संभावित डुप्लिकेट (http : //stackoverflow.com/questions/586129/create-subdomains-on-the-fly-with-htaccess-php) –

उत्तर

1

यहां आपकी समस्या का स्पष्टीकरण यहां दिया गया है। http://www.joehayes.org/setting-up-wildcard-dns-for-subdomains.html

ठीक है अगर आपने लिंक पर स्पष्टीकरण पढ़ लिया है, तो आप जान लेंगे कि आपको अपने सभी सबडोमेन को www पर रीडायरेक्ट करना चाहिए। httpd.conf फ़ाइल में एक वर्चुअल होस्ट परिभाषा है जिसमें आपके दस्तावेज़ रूट पर सभी अनुरोधों को पुनर्निर्देशित करने के लिए केवल yourdomain.com शामिल है।

**ServerAlias yourdomain.com** 
ServerAdmin [email protected] 
DocumentRoot /home/yourdoma/public_html 
BytesLog domlogs/yourdomain.com-bytes_log 
ServerName www.yourdomain.com 
User yourdomain 
Group yourdomain 
CustomLog /usr/local/apache/domlogs/yourdomain.com combined 
ScriptAlias /cgi-bin/ /home/yourdomain/public_html/cgi-bin/ 

और आप अपने दस्तावेज़ रूट फ़ोल्डर में सभी उप डोमेन को पुनः प्राप्त करने* .yourdomain.com को सर्वर का संशोधित करना चाहिए। तो आप mod_rewrite या यूआरएल पार्स में सफल होने के लिए सक्षम होना चाहिए।

+0

क्षमा करें, उचित उत्तर नहीं, मुझे क्या चाहिए। –

+0

ठीक है, मैं बस यह इंगित करना चाहता था कि क्या आपके पास अपने होस्ट के लिए एसएसएच एक्सेस है, या httpd.conf फ़ाइल तक पहुंच है, या अपाचे सर्वर को पुनरारंभ करना है। –

+0

नहीं, मेरे पास कोई पहुंच नहीं है। लेकिन सर्वर के साथ गतिशील सबडोमेन बनाने का कनेक्शन क्या है ?? –

1

सर्वर vhost फ़ाइल में इस कोड का उपयोग करें:

<VirtualHost *:80> 
    DocumentRoot "/home/yourdoma/public_html/yourdomain" 
    ServerName yourdomain.com 
    ErrorLog "logs/yourdomain.local-error.log" 
    CustomLog "logs/yourdomain.local-access.log" common 
    <Directory "/home/yourdoma/public_html/yourdomain"> 
     AllowOverride All 
     Require all Granted 
    </Directory> 
</VirtualHost> 

<VirtualHost *:80> 
    DocumentRoot "/home/yourdoma/public_html/yourdomain" 
    ServerName dummy-host.yourdomain.com 
    ErrorLog "logs/yourdomain.com-error.log" 
    CustomLog "logs/yourdomain.com-access.log" common 
    ServerAlias *.yourdomain.com 
    <Directory "/home/yourdoma/public_html/yourdomain"> 
     AllowOverride All 
     Require all Granted 
    </Directory> 
</VirtualHost> 

और अपने CodeIgniter कॉन्फ़िग फ़ाइल के लिए:

$host = isset($_SERVER['HTTP_HOST']) ? $_SERVER['HTTP_HOST'] : ''; 
$schema = isset($_SERVER['REQUEST_SCHEME']) ? $_SERVER['REQUEST_SCHEME'].'://' : 'http://'; 
$spl_host = explode("mysite.com", $host); 
$subhost = ''; 
if (count($spl_host) == 2) { 
    $subhost = current($spl_host); 
} 

if($host == $subhost.'mysite.com') { 
    $config['base_url'] = $schema.$subhost.'mysite.com'; 
} else { 
    $config['base_url'] = $schema.$host; 
} 
+0

इस पर भी वीडियो के लिए जाँच करें। https://youtu.be/518eRiSOTlY – Iftikhar

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