Codeigniter CI路由器从数据库检查域

Codeigniter CI路由器从数据库检查域,codeigniter,codeigniter-2,codeigniter-url,Codeigniter,Codeigniter 2,Codeigniter Url,CI新手Im需要帮助根据数据库值将url路由到子域 通过使用通配符规则,我在服务器上设置了子域,现在我必须检查数据库中是否存在子域,如果名称存在于数据库中,则我必须重定向到主控制器,否则我必须重定向主站点(默认控制器) 当前正在检查主控制器索引方法中的子域 $server = explode('.', $_SERVER['HTTP_HOST']); $domain = $server[0]; $this->usercontroller->checkdomain($

CI新手Im需要帮助根据数据库值将url路由到子域

通过使用通配符规则,我在服务器上设置了子域,现在我必须检查数据库中是否存在子域,如果名称存在于数据库中,则我必须重定向到主控制器,否则我必须重定向主站点(默认控制器)

当前正在检查主控制器索引方法中的子域

   $server = explode('.', $_SERVER['HTTP_HOST']);
   $domain = $server[0]; 
   $this->usercontroller->checkdomain($domain);

需要帮助我使用路由器(引导方法)做得更好。

我知道这是一个老问题,但这对我来说很有用。这可能会为某人指明正确的方向。请随时问我关于代码的细节

//$route['default_controller'] = "welcome";
$route['404_override']=''; 交换机($\u服务器['HTTP\u主机']))

{


您可以创建自己的
路由器
并在请求到达控制器之前拦截请求(在CI论坛中搜索我的路由器),或者,我开始使用
404\u覆盖
路由来获取请求的URL,检查它并相应地采取行动。
case 'losey.co':

case 'www.losey.co':

    $route['default_controller'] = "dashboard";

break;  

default:
    //This query's the sites table and checks the domain / subdomain and then shows the correct default_controller
    $server = $_SERVER['HTTP_HOST'];
    require_once( BASEPATH .'database/DB'. EXT );
        $db =& DB();
        $db->where('nameshort',  array_shift(explode(".",$server)));
        $db->or_where('domain', $server);
        $query = $db->get( 'sites' );
        //$query = $db->get_where('sites', array('nameshort' => 'test'), 1);

        $result = $query->result();
        foreach( $result as $row )
        {
            $route['default_controller'] = $row->home;
        }
break;