обслуживание различного контента на основе домена в codeigniter

Я собираюсь разработать сайт в codeigniter. Но не уверен, что метор, который я собираюсь использовать, является лучшим подходом. Для одного и того же сайта будет много дополнительных доменов. Но контент будет фильтроваться на основе домена, используемого для посещения сайта.

Например, если пользователь приходит из домена siteusa.com, то контент будет отображаться отфильтрованным в соответствии с конкретным пользователем. Если пользователь приходит из siteuk.com/sitechina.com, контент будет соответствующим образом отфильтрован и т. д.

Я планирую сделать что-то подобное, чтобы определить URL-адрес и предоставить контент.

 $ref = getenv("HTTP_REFERER");
    echo $ref; 

Еще одна проблема, которую я вижу, это настройка baseurl codeigniter, но я нашел решение для этого здесь

/*
|--------------------------------------------------------------------------
| Base Site URL
|--------------------------------------------------------------------------
|
| URL to your CodeIgniter root. Typically this will be your base URL,
| WITH a trailing slash:
|
| http://www.your-site.com/
|
*/

if(isset($_SERVER['HTTP_HOST']))
{
$config['base_url'] = isset($_SERVER['HTTPS']) && strtolower($_SERVER['HTTPS']) == 'on' ? 'https' : 'http';
$config['base_url'] .= '://'. $_SERVER['HTTP_HOST'];
$config['base_url'] .= str_replace(basename($_SERVER['SCRIPT_NAME']), '', $_SERVER['SCRIPT_NAME']);
}

else
{
$config['base_url'] = 'http://localhost/';
}

Это лучший способ сделать это? Есть ли возможное узкое место, в которое я могу попасть?

Основной домен сайта будет обслуживать нефильтрованный контент, и каждый дополнительный домен будет фильтровать его в соответствии с набором фильтров для каждого домена из бэкэнда.


person esafwan    schedule 09.10.2010    source источник
comment
в вашем базовом URL-адресе вы не можете просто сделать что-то вроде $_SERVER['HTTP_HOST'], это позволит вам иметь несколько сред на вашем локальном компьютере для тестирования, что касается фильтрации, я предлагаю вам пометить контент с каким доменом, он доступен, а затем сопоставить его с текущим домен при выполнении ваших запросов   -  person sea_1987    schedule 11.10.2010


Ответы (2)


Возможно, вам подходят правила .htaccess? Обратите внимание, что CI также имеет файл route.php для тонкого контроля над URL-адресами, но, как мне кажется, не на уровне домена.

person Fer    schedule 02.11.2010

Я не вижу никакой проблемы в том, чтобы сделать это таким образом. Это не вызовет узких мест, так как дополнительные функции имеют незначительные накладные расходы.

Что бы это ни стоило, я делаю то же самое для службы SaaS, которую я запускаю, где несколько веб-сайтов (тысячи) указывают на одну и ту же установку воспламенителя кода. У меня не было никаких проблем.

Что касается фильтрации, просто убедитесь, что у вас правильно настроены индексы, так как вам нужно будет запрашивать переменную HTTP_HOST.

person jaredstenquist    schedule 16.01.2013