【问题标题】:Serve Mobile Application in Subdomain For Existing CodeIgniter Site为现有 CodeIgniter 站点在子域中提供移动应用程序
【发布时间】: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


    【解决方案1】:

    刚刚意识到我正在用错误的方法解决问题。

    实际上这解决了问题,这正是我想要的。

    1. 从我的托管 cPanel 创建了一个移动子域。
    2. 为移动网站创建了 1:1 桌面网站视图等效项。
    3. 使用MobileDetect 脚本作为助手并根据检测到的设备,路由到正确的视图。

    谢谢大家...希望这会有所帮助。

    【讨论】:

      猜你喜欢
      • 2021-10-01
      • 1970-01-01
      • 2011-06-05
      • 1970-01-01
      • 1970-01-01
      • 2014-12-25
      • 1970-01-01
      • 2016-10-16
      • 1970-01-01
      相关资源
      最近更新 更多