Хотите создать динамический субдомен в codeigniter?

На моем сайте я хочу добавить функциональность для пользователя, чтобы использовать свое имя пользователя в домене.

Как и в codeigniter прямо сейчас, я хочу дать пользователю использовать свой собственный URL для входа на сайт и делать другие вещи.

Например:

i Want www.username.mysite.com/login или www.username.mysite.com/category

поэтому здесь пользователь может войти со своими учетными данными и добавить категорию. поэтому у меня есть два контроллера на моем сайте с логином и категорией.

Итак, как это сделать с помощью маршрутов Or .htaccess.

вот объяснение вашей проблемы здесь. http://www.joehayes.org/setting-up-wildcard-dns-for-subdomains.html

Хорошо, если вы прочитали объяснение по ссылке, вы должны знать, что сначала необходимо перенаправить все свои поддомены на www. в файле httpd.conf есть определение виртуального хоста, содержащее только yourdomain.com для перенаправления всех запросов на ваш DocumentRoot.

 **ServerAlias yourdomain.com** ServerAdmin webmaster@yourdomain.com 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/ 

и вы должны изменить ServerAlias на * .yourdomain.com для извлечения всех поддоменов в папку корневого каталога документа . то вы должны иметь возможность mod_rewrite или url анализировать ваш uri, чтобы преуспеть в этом.

Используйте этот код в файле 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; }