Пользовательские домены в веб-приложении CodeIgniter? - PullRequest
1 голос
/ 06 октября 2011

Я использую CodeIgniter для создания моего первого веб-приложения.В демонстрационных целях пользователи могут просматривать свой сайт, просто используя свое имя пользователя Facebook в качестве параметра (используя общедоступные данные из Graph API).Таким образом, они получают доступ к своим данным с помощью:

myurl.com/controller/function/**username**

Однако в будущем я бы хотел, чтобы пользователи могли использовать свой собственный домен для просмотра аналогичной страницы.

Я прочитал вокругтема, но они не кажутся согласованным решением.Некоторые говорят, что мне нужно использовать mod_rewrite в .htaccess, некоторые предлагают использовать virtual hosts, некоторые упоминают игру с $_SERVER запросами для перенаправления пользователей.Кажется, есть много предложений, но не так много примеров, чтобы помочь решить.

Я очень рад настроить каждый домен вручную (то есть, отредактировав .htaccess вручную), но я все еще хотел бы бытьвозможность использовать одну установку CodeIgniter.

Итак, как я могу указать несколько URL / пользовательских доменов на URL CodeIgniter и какие существуют последствия для безопасности?

Возможносвязанные ссылка

1 Ответ

0 голосов
/ 07 октября 2011

О какой версии CodeIgniter вы говорите?

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

Это будет динамично, потому что все, что вы делаете, это настраиваете DNS для доменов ваших клиентов, чтобы они указывали на ваш сервер, и все они получат один экземпляр приложения CI. Это не безопасно, хотя.

Я бы предложил использовать функцию CI, в которую отправляются все домены до того, как будет запущено основное приложение CodeIgniter. Затем этот посредник выполнит некоторый поиск в таблице БД, чтобы узнать, является ли вызываемый домен разрешенным. Если нет перенаправления, загрузите основное приложение CI.

Это должно хорошо работать для CI 2.x, так как он может автоматически определять домены, поэтому вам не нужно жестко кодировать в файле конфигурации.

Для CI 1.6.x вы должны жестко запрограммировать URL-адрес приложения в файл конфигурации. Если это ваша версия, вам может потребоваться обновить или изменить приложение.

HTH:)

...