Want to create dynamic subdomain in codeigniter?
Use this code in server Vhost file:
<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>
and For your codeigniter config file:
$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;}
here's an explanation of your issue here. http://www.joehayes.org/setting-up-wildcard-dns-for-subdomains.html
Ok if you have read the explanation on the link, you'd know that you should redirect all of your subdomains to www first. in httpd.conf file there's a virtual host definition containing only yourdomain.com to redirect all the requests to your DocumentRoot.
**ServerAlias yourdomain.com**ServerAdmin webmaster@yourdomain.comDocumentRoot /home/yourdoma/public_htmlBytesLog domlogs/yourdomain.com-bytes_logServerName www.yourdomain.comUser yourdomainGroup yourdomainCustomLog /usr/local/apache/domlogs/yourdomain.com combinedScriptAlias /cgi-bin/ /home/yourdomain/public_html/cgi-bin/
and you should modify the ServerAlias to *.yourdomain.com to retrieve all subdomains into your Document Root folder. then you should be able to mod_rewrite or url parse your uri to succeed this.