Codeigniter子域重定向 - 控制器

时间:2018-04-15 02:36:06

标签: php .htaccess codeigniter subdomain cpanel

我希望被定向到我使用子域登录时指定的控制器。

例如

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

我如何指导这样的子域?

谢谢。

1 个答案:

答案 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/