0

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

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

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

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

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

4

1 回答 1

0

我知道这是一个老问题,但这对我有用。这可能会为某人指明正确的方向。也请随时向我询问有关代码的详细信息。

//$route['default_controller'] = "welcome";

$route['404_override'] = ''; 开关($_SERVER['HTTP_HOST'])

{

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;
于 2013-12-26T17:27:30.920 回答