在Codeigniter中创建多站点的最佳方式是什么?
问题描述:
我想知道使用单个后端制作多站点的最佳方式是什么。我的意思是说我有一个全球购物车(比如www.abc.com)和一些区域购物车(比如说www.abc.fr,www.abc.in等),我想用单一的后台管理来管理它们,结束。在Codeigniter中创建多站点的最佳方式是什么?
我应该在我的表中使用单个数据库和site-id吗?还有如何维护文件?
感谢所有。
答
如果您需要一个共享单个数据库的系统,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;
这意味着你的模型,视图,控制器,不管你可以用$这个 - >定点> ID。或者你可以设置一个常数,无论你喜欢的方式:)
答
一年多前,Phil Sturgeon(频繁的CI贡献者)就如何做到这一点写了一篇很好的教程。看到这里:http://philsturgeon.co.uk/blog/2009/06/How-to-Multi-site-CodeIgniter-Set-up
你当然可以留下别名的东西,这只是我做的事情,让域被停放或重定向。 – 2010-10-25 09:35:56