Я собираюсь создать веб-сайт в кодеигниторе. Но не уверен, что метод, который я собираюсь использовать, – лучший подход. На одном сайте будет много доменов аддона. Но контент будет отфильтрован на основе домена, используемого для посещения сайта.
Например, если пользователь приходит из домена siteusa.com
тогда контент будет отображен соответствующим фильтром. Если пользователь приходит с siteuk.com/sitechina.com
содержимое будет передано соответствующим образом и т. Д. …
Я планирую сделать что-то подобное, чтобы обнаружить URL-адрес и загрузить контент
$ref = getenv("HTTP_REFERER"); echo $ref;
Еще одна проблема, которую я вижу, – это базовый параметр 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/'; }
Это лучший способ сделать это? Есть ли возможное узкое место, в которое я могу попасть?
Основной домен сайта будет обслуживать нефильтрованное содержимое, и каждый домен аддона будет фильтровать его в соответствии с набором фильтров для каждого домена из бэкэнд.
Возможны ли для вас варианты .htaccess? Обратите внимание, что CI также имеет файл route.php для мелкомасштабного управления URL-адресами, но не на уровне домена, я думаю.
Я не вижу никаких проблем при этом. Это не вызовет узкое место, поскольку дополнительные функции имеют незначительные накладные расходы.
Для чего это стоит того, что я делаю то же самое для службы SaaS, я запускаю там, где несколько веб-сайтов (тысячи) указываются на одну и ту же установку воспламенителя кода. У меня не было никаких проблем.
Что касается фильтрации, просто убедитесь, что у вас есть правильная настройка индексов, так как вам нужно будет запросить переменную HTTP_HOST.