Codeigniter CI路由器从数据库检查域
CI新手Im需要帮助根据数据库值将url路由到子域 通过使用通配符规则,我在服务器上设置了子域,现在我必须检查数据库中是否存在子域,如果名称存在于数据库中,则我必须重定向到主控制器,否则我必须重定向主站点(默认控制器) 当前正在检查主控制器索引方法中的子域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($
$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;