【发布时间】:2015-05-28 14:42:59
【问题描述】:
我有一个基于 CI 构建的主站点 (www.example.com)。最近我想在移动子域(m.example.com)上创建一个移动版本的网站,使用 JQuery 移动具有不同的视图,但想使用我的主应用程序中的大部分代码(特别是模型。两者的查询是相同的)。
思考和实施过程与这里所说的完全一样 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? 似乎要去某个地方,但我不清楚
提前致谢。
【问题讨论】:
标签: .htaccess codeigniter