2010-10-23 3 views
1

Я хочу знать, что может быть лучшим способом сделать многосайтовый сайт с одним back-end. Я хочу сказать, что у меня есть глобальная корзина для покупок (скажем, www.abc.com) и некоторые региональные тележки (скажем, www.abc.fr, www.abc.in и т. Д.), И я хочу управлять ими с помощью одного back- конец.Что может быть лучшим способом создания многосайтового сайта в Codeigniter?

Должен ли я использовать единую базу данных и идентификатор сайта в моих таблицах? Также как поддерживать файлы?

Спасибо всем.

ответ

1

Подход 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->> идентификатор сайта-. Или вы можете установить постоянную, в зависимости от того, какой вы предпочитаете :)

+0

Вы можете, конечно, оставить материал псевдонима, это только то, что я сделал, чтобы домены можно было припарковать или перенаправить. –

Смежные вопросы