Codeigniter为移动设备加载不同的控制器

时间:2014-12-01 19:47:35

标签: php codeigniter mobile

我正在寻找解决方案如何加载不同的控制器而不更改移动设备的网站uri。例如,我通过PC访问www.site.com,我应该看到网页(默认工作,一切正常)。但现在我通过手机访问www.site.com,我希望看到这个网站的移动版本不会改变网址。因此,当我通过手机访问www.site.com/article-123时,我希望看到移动版的页面。我正在寻找解决方案,但我找不到任何东西。我试图将user_agent库加载到我的路由文件,但没有任何反应(想要更改对移动设备的控制器的调用)。有没有解决方案?

1 个答案:

答案 0 :(得分:1)

引用OP

  

“我试图将user_agent库加载到我的路由文件中,但什么也没发生。”

我不知道您是如何向routes添加库的,因为您从未向我们展示过,但请参阅the documentation以正确使用user_agent库。然后使用url帮助程序redirect到不同的Controller函数。

$this->load->library('user_agent');
$this->load->helper('url');

if ($this->agent->is_mobile())
{
    redirect('/mobile/home/', 'refresh'); // go to 'mobile' controller, 'home()' function
}
else
{
    redirect('/desktop/index/', 'refresh'); // go to 'desktop' controller, 'index()' function
}