Перенаправление на мобильный поддомен в приложении CI - PullRequest
1 голос
/ 11 мая 2011

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

Я немного озадачен тем, как начать.Я хочу поместить свою мобильную версию на поддомен (m.myhost.tld), однако .., поскольку мое приложение находится на www.myhost.tld, и мне не хочется копировать все это в другую папку и поддерживать две, я немногорастерян.

Я знаю, что могу использовать библиотеку User Agent в CodeIgniter для обнаружения мобильных браузеров и соответственно загрузки представлений;Я просто не знаю, как заставить это работать с поддоменом.Нужно ли мне настраивать мой файл app/config/routes.php здесь, или я могу исправить это с помощью какой-нибудь магии .htaccess?У меня почти нет опыта работы с .htaccess.Единственное, что я знаю, это как удалить мой index.php из приложений CI, и это фрагмент copypasta.

РЕДАКТИРОВАТЬ: Интересно, могу ли я использовать учебник, такой как этот , чтобы сделатьЧто я хочу сделать?Кажется, он делает более или менее одно и то же, просто с динамическими именами пользователей вместо простого 'm.'

РЕДАКТИРОВАТЬ 2: Я полагаю, немного больше информации.

Скажите, что я обнаружил мобильныйбраузеры, использующие библиотеку User Agent, включенную в CodeIgniter.Я хочу направить эти браузеры на m.myhost.tld.Тем не менее, контент, который я хочу отображать на мобильном веб-сайте, поступает от контроллера под названием mobile, к которому я также могу получить доступ через www.myhost.tld/mobile/;поэтому у меня вопрос, есть ли способ перенаправить URL-адрес, например .. например www.myhost.tld/mobile/about на m.myhost.tld/about.Я даже не уверен, возможно ли это, хихикать.Все еще учусь!

Буду благодарен за любой совет, который вы мне можете дать.Большое спасибо!

1 Ответ

1 голос
/ 11 мая 2011

Если вы хотите совместно использовать одни и те же файлы на разных хостах, вы должны назначить корневую папку документов ваших сайтов на вашем веб-сервере, это объяснение для статических файлов, но это база, которую вы понимаете.

браузер -> хост: zyxxx [ip.ip.ip.ip] -> веб-сервер -> чтение файловой системы: корень документа + путь запроса браузера

, поэтому, если корнем документа является:

/hosting/http/z.y.xxx/htdocs

и запросом является /path-to-static/index.html, который сервер пытается прочитать:

/hosting/http/z.y.xxx/htdocs/path-to-static/index.html

В заключение вы создаете новый хост m.mysite.tld на своем веб-сервере.и вы меняете корень документа так же, как вы www.mysite.tld, также вы можете использовать директивы псевдонима хоста, такие как директива Apache ServerAlias.Имеется много документации по настройке веб-сервера.

Вы можете обработать имя хоста в php с помощью переменной $_SERVER['HTTP_HOST'].

Если бы вы могли указать больше, я мог бы помочь больше.

хорошего дня

...