我希望被定向到我使用子域登录时指定的控制器。
例如
www.mysite.com -> mysite.com/main_controller
abc.mysite.com -> mysite.com/sub_controller
stack.mysite.com -> mysite.com/sub_controller
test.mysite.com -> mysite.com/sub_controller
www.mysite.com/other_controller -> mysite.com/other_controller
我如何指导这样的子域?
谢谢。
答案 0 :(得分:0)
你不需要玩htaccess,我们可以做一些技巧。在下面找到。
在根文件夹(您已安装应用程序和系统文件夹)中创建新文件夹。
我在这里调用subdomain
是本案例的新文件夹。所以你的根目录应该是这样的。
/application
/system
/subdomain
/.htaccess
/index.php
/..
然后复制/index.php
&将其粘贴到/subdomain
目录中并更改子设置,如下所示
$system_path = '../system';
$application_folder = '../application';
$view_folder = '../application/views';
然后,在/application/config/routes.php
if($_SERVER['HTTP_HOST'] == 'mysite.com'){
$route['default_controller'] = 'main_controller';
}else{
$route['default_controller'] = 'sub_controller';
}
-OR -
switch ( $_SERVER['HTTP_HOST'] ) {
case 'abc.mysite.com':
$route['default_controller'] = "sub_controller";
break;
case 'stack.mysite.com':
case 'test.mysite.com':
$route['default_controller'] = "sub_controller_2";
break;
default:
$route['default_controller'] = 'main_controller';
}
最后,将您的subdomain
(例如abc.mysite.com)指向/subdomain
目录
如果您需要参考以下链接,也可以使用其他方法。 https://code.tutsplus.com/tutorials/basecamp-style-subdomains-with-codeigniter--net-16330 http://asvignesh.in/dynamic-subdomain-in-codeigniter/