2012-03-16 19 views
8

En mi sitio quiero agregar una funcionalidad para que el usuario use su nombre de usuario con el dominio.¿Desea crear un subdominio dinámico en codeigniter?

Al igual que en codeigniter en este momento, quiero que el usuario use su propia url para iniciar sesión en el sitio y hacer otras cosas.

Por ejemplo:

QUIERO www.username.mysite.com/login o www.username.mysite.com/category

así que aquí el usuario puede iniciar sesión con su credencial y añadir la categoría. entonces tengo dos controladores en mi sitio con inicio de sesión y categoría.

Entonces, ¿cómo hacer esto con las rutas o .htaccess.

+0

duplicado posible de [crear subdominios sobre la marcha con .htaccess (PHP)] (http : //stackoverflow.com/questions/586129/create-subdomains-on-the-fly-with-htaccess-php) –

Respuesta

1

aquí hay una explicación de su problema aquí. http://www.joehayes.org/setting-up-wildcard-dns-for-subdomains.html

Bien, si ha leído la explicación en el enlace, sabrá que primero debe redireccionar todos sus subdominios a www. en el archivo httpd.conf hay una definición de host virtual que contiene solo sudominio.com para redirigir todas las solicitudes a su DocumentRoot.

**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/ 

y debe modificar las ServerAlias ​​ a * .sudominio.com para recuperar todos los subdominios en el documento raíz carpeta . entonces debería poder mod_rewrite o url parse su uri para suceder esto.

+0

Lo siento, no es una respuesta adecuada, lo que necesito. –

+0

ok, solo quería apuntar que si tiene un acceso ssh a su host, o acceso al archivo httpd.conf, o reiniciando el servidor apache. –

+0

No, no tengo ningún acceso. pero ¿cuál es la conexión de crear un subdominio dinámico con el servidor? –

1

Utilice este código en el archivo de Vhost servidor:

<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> 

y CodeIgniter Para su archivo de configuración:

$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

verifique el video en esto también. https://youtu.be/518eRiSOTlY – Iftikhar

Cuestiones relacionadas