我有一个基于CI的主站点(www.example.com)。最近我想到使用JQuery mobile在移动子域(m.example.com)上创建移动版本的网站,但是想要使用我主应用程序中的大部分代码(特别是模型。两者的查询相同)。
思考和实施过程与此处所述完全相同 Redirecting to mobile subdomain in a CI application
我有:
controller
home.php (for main site)
mobile.php (for mobile site)
通过很少的研究,我能够像这样使用“config.php”和“routes.php”来做一个技巧。
[config.php]
$config['base_url'] = 'http://www.example.com';
$config['mobile_url'] = 'http://m.example.com';
[routes.php]
switch ( $_SERVER['HTTP_HOST'] ) {
case 'm.example.com':
$route['default_controller'] = "mobile";
break;
default:
$route['default_controller'] = "home";
break;
}
到目前为止,这看起来还不错,但它根本无法发挥作用。
当我去m.example.com时,它加载了网站的移动版本就好了,但我不能再去那里了。例如,我想在该站点的移动版本上实现搜索功能,但不能为该子域实现子功能。
m.example.com/search/term
根本没用。它改为执行主站点并呈现主站点的视图。
这更像是主站点的子页面(www.example.com/mobile),而不是不同域中的不同应用程序。
现在我正在考虑在相同的CI安装上为移动版创建单独的应用程序
让我们说
system
mainsite
mobilesite
www
我的问题:
1)创建移动版应用程序的最佳方法是什么,我可以重用主应用程序中的代码?我应该继续使用我的旧方法(重定向到控制器)还是构建单独的应用程序?
2)如果要使用两个单独的应用程序,如何根据域名重定向到正确版本的index.php文件以进行正确的应用程序。即,如果用户键入www.example.com,则会转到主站点,而m.example.com应重定向到移动版本。目前我的主应用程序在网站上运行,只有一个index.php。
我真的很感激一些建议和提示。
顺便说一下,我搜索了一下这个主题,但找不到我想要做的确切答案。
我找到了像
这样的东西http://code.tutsplus.com/tutorials/basecamp-style-subdomains-with-codeigniter--net-16330
但我不是在不同的子域上提供相同的应用程序后,而是我想为子域创建单独的应用程序。
这个主题 Is there an easy way to create subdomains on codeigniter?似乎要到某个地方,但我不清楚
提前致谢。
答案 0 :(得分:1)
刚才意识到我正在以错误的方法解决问题。
实际上这解决了问题,这正是我想要的。
谢谢大家...希望这会有所帮助。