Я пытаюсь использовать поддомен для специальной мобильной версии моего приложения ZF. В идеале он будет привязан к конкретному контроллеру, как в примере ниже, но на данный момент я готов попробовать любой метод, который работает:
Ex. m.domain.com/action будет направлять на «мобильный» контроллер и указывать любое действие.
Я нашел несколько похожих вопросов здесь и в других местах в Google, но у меня возникает ощущение, что я упускаю что-то очевидное, потому что независимо от того, какой маршрут я выбрал, он просто игнорируется. Я подозреваю, что это как-то связано с htaccess, но может и ошибаться.
Вот маршрут, который у меня сейчас есть в моем файле начальной загрузки (но я попробовал здесь несколько разных шаблонов). Сейчас я просто пытаюсь заставить его показать простой индекс для простоты:
$hostRoute = new Zend_Controller_Router_Route_Hostname(':subdomain.domain.com',
array(
'controller' => 'index',
'action' => 'index'
)
);
$plainPathRoute = new Zend_Controller_Router_Route(':controller/:action/*',
array('controller' => 'index', 'action' => 'index'));
$controller->getRouter()->addRoute('mobile', $hostRoute->chain($plainPathRoute));
И мой htaccess имеет:
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} -s [OR]
RewriteCond %{REQUEST_FILENAME} -l [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^.*$ - [NC,L]
RewriteRule ^.*$ index.php [NC,L]
Теперь есть 2 метода, которые я пробовал здесь, потому что был очень расстроен.
- Создать поддомен "m" внутри моей учетной записи хостинга
- Субдомен "app" не существует в моей учетной записи веб-хостинга
Для метода 1 он просто идет в общий файл index.html, который находится в domain.com/m/. Метод 2 говорит мне, что страница не существует.
Я действительно надеюсь, что здесь есть что-то очевидное, что мне не хватает. Как я уже упоминал выше, я не придирчив к тому, как именно это выполняется, если у меня есть субдомен, указывающий на конкретный контроллер. Это будет очень упрощенная версия сайта, поэтому мне не нужно делать ничего сложного.
Спасибо за вашу помощь.