Как перенаправить на мобильный поддомен если сайт просматривают с телефона?

Статус
Закрыто для дальнейших ответов.

tenass

Member
Регистрация
24.04.2017
Сообщения
13
Здравствуйте! Суть вопроса такова:
Есть сайт на opencart. Он лежит на домене допустим: domain.com. Нужно сделать так, чтобы когда пользователь заходит на сайт с телефона, то его автоматически переадресовывало на m.domain.com
Делал следующие вещи:
Прямо после открытого тега head прописывал (подключал спец. библиотеку которая распознает с чего зашел юзер)

Код:
<script src="/catalog/view/javascript/device.min.js"></script>
<script>
if ( device.mobile() ) {
window.location.href = "http://m.domain.com/";
//window.location = "http://m.domain.com/";
//location.href = 'http://m.domain.com/';
}
</script>

Это не помогло.
Потом подключал это: https://opencartforum.com/topic/35925-mobilnaya-ve...
там пришлось прикручивать специальный php class Mobile_Detect.php, но тоже не помогло.
Заметил странную вещь - когда захожу с телефона, то в адресно строке наблюдаю следующее: domain.com/index.php?route=mobile/home
Т.е. могу догадаться что это и есть перенаправление на загрузку мобильной темы сайта, но не перенаправление на поддомен.
Как реализовать именно перенаправление на поддомен?
 

Volly

Well-Known Member
Регистрация
21.03.2012
Сообщения
830
Может как-то так?
Правила для .htaccess

Код:
RewriteCond %{HTTP_USER_AGENT} "ipod|iphone|ipad|blackberry"[NC]
RewriteCond %{REQUEST_URI} ^/$
RewriteRule ^http://domain.com%{REQUEST_URI} [R,L]
 

tenass

Member
Регистрация
24.04.2017
Сообщения
13
Этот код полностью вставить в .htaccess?
А это что за строчка:
“ipod|iphone|ipad|blackberry”[NC]
 

Volly

Well-Known Member
Регистрация
21.03.2012
Сообщения
830
Когда браузер запрашивает страницу сайт, то он отправляет серверу служебные заголовки, в том числе могут быть инфа о браузере и тип девайса. Эта инфа при получении заносится в серверные переменные.
В файле .htaccess проверяется значение переменной HTTP_USER_AGENT и если оно равно ipod или iphone или ipad или blackberry директива RewriteRule перенаправит браузер на другой адрес domain.com.
В какое место htaccess вставлять эти строки зависит от того, что там уже есть.
Да, кавычки ставьте правильные " ".
 

tenass

Member
Регистрация
24.04.2017
Сообщения
13
а если человек зашел с телефона на android?
 

Volly

Well-Known Member
Регистрация
21.03.2012
Сообщения
830
В строку "ipod|iphone|ipad|blackberry" можно добавить android и другие необходимые опознавательные слова.
Почитайте про HTTP_USER_AGENT. В неё попадает инфа об операционке, браузере и другое.
 
Статус
Закрыто для дальнейших ответов.
Верх Низ