Codeigniter, домен на определенную область сайта

Я не очень опытный программист, и я использую CodeIgniter во второй раз.

Предположим, у меня есть www.domain1.com - ... Поэтому у меня будет, скажем, 3 контроллера /area1, /area2, /area3. Пользователи могут получить к ним доступ как www.domain1.com/area1 etc. если я установлю базовый URL как www.domain1.com - ... Но моя проблема в том, что клиент хочет определенную область интернета, скажем area2, работающую как микросайт, в своем собственном домене, поэтому он хочет получить доступ к area2 с www.domain2.com.

Я не знаю как получите эту работу с CodeIgniter. Предположим, он регистрирует www.domain2.com и установите его, указывая на тот же DNS, сервер и т. д. Как я могу получить CodeIgnitor для выполнения контроллера area2, когда URL www.domain2.com доступ есть?

возможно изменение $config['base-url']? Маршрут? .htaccess? Пожалуйста, если вы решили это, примеры задействованного кода были бы весьма признательны.

Edit: я поставлю пример сайта, который я хочу получить.

у меня есть одна нормальная установка CodeIgniter (внешний хост, я не могу получить доступ httpd.conf) он находится на одной машине, и корень сайта должен быть доступен www.domain1.com

все домены вне зарегистрированных. Поэтому у меня есть домашний контроллер, который показывает мне вид главной страницы. И предположим, что сайт имеет 3 области / area1, /area2 / area3, с их соответствующими контроллерами, отображающими эти области.

мой клиент хочет подчеркнуть одну из областей, ту, которую показывает контроллер /area2, и он хочет использовать другой домен для этой области, www.domain2.com

что я могу сделать, чтобы при просмотре пользователем www.domain2.com, CI перенаправляет их на www.domain1.com/area2? Могу ли я, например, изменить $config['base_url'] в соответствии с полученным URL-адресом, или это невозможно? Мне нужно изменить ?

4 ответов


после долгих поисков, я нашел решение, которое, кажется, работает, очень легко быть честным:

изменить routes.php:

if ($_SERVER['HTTP_HOST']=="www.domain2.com") {
    $route['default_controller'] = "area2"; 
}

нет необходимости переписывать мод.


вот полезная ссылка.... http://www.askaboutphp.com/88/codeigniter-setting-up-multiple-sites-on-one-install.html Никогда не делал этого сам, но, похоже, это способ сделать это без двух установок ci. Удача.


вам определенно нужно пойти mod_rewrite путь


первое решение, которое приходит мне на ум, - использовать Apache mod_rewrite, но, насколько я знаю, это будет работать только для внутренних перенаправлений (т. е. ресурсов, находящихся на одном сервере/домене).

Как насчет использования iframe? Вы могли бы настроить domain2.com Домашняя страница с полностраничным iframe, который принимает его содержимое из domain1.com/area2.