什么是在Codeigniter中创建多站点的最佳方法?

时间:2010-10-23 14:46:47

标签: codeigniter

我想知道什么是使用单个后端制作多站点的最佳方法。我的意思是说我有一个全球购物车(比如www.abc.com)和一些区域购物车(比如www.abc.fr,www.abc.in等),我想用单一背面管理它们 - 端。

我应该在表格中使用单个数据库和site-id吗?还有如何维护文件?

感谢所有人。

2 个答案:

答案 0 :(得分:2)

如果您需要一个共享单个数据库的系统,site_id方法也可以正常工作,我已在多个应用程序上完成此操作。

在MY_Controller中使用此代码的最佳方式:

    $domain = $this->input->server('SERVER_NAME');

    $this->load->model('sites_m');

    // Check to see if a site exists
    if ( ! $site = $this->sites_m->get_by('domain', $domain))
    {
        // Maybe this domain is an alias
        if ( ! $alias = $this->sites_m->get_alias($domain))
        {
            show_error('This domain has not been set up yet.');
            exit;
        }

        $site = $this->sites_m->get_by('id', $alias->site_id);

        if ($alias->is_redirect)
        {
            redirect('http://'.$site->domain.uri_string());
        }
    }

    $this->site =& $site;

这意味着您的模型,视图,控制器,您可以使用的任何内容$ this-> site-> id。或者你可以设置一个常数,无论你喜欢哪种方式:)

答案 1 :(得分:1)

一年多以前,Phil Sturgeon(一位经常担任CI的撰稿人)写了一篇关于如何做到这一点的精彩教程。见这里:http://philsturgeon.co.uk/blog/2009/06/How-to-Multi-site-CodeIgniter-Set-up