» Как перенаправить пользователей мобильных устройств на другую страницу причём сделать это с можно помощью JavaScript.

Как перенаправить пользователей мобильных устройств на другую страницу причём сделать это с можно помощью JavaScript.

Как перенаправить пользователей мобильных устройств на другую страницу причём сделать это с можно помощью jаvascript.



3 способа сделать редирект на мобильную версию сайта — с помощью php, .htaccess и html ( jаvascript).



  PHP
    в .htaccess
    HTML (JavaScript)


Делаем мобильный редирект на PHP



Каждое устройство сообщает серверу свой токен. User Agent («юзер-агент»). В этом юзер-агенте находится информация о данном устройстве. С помощью PHP информацию извлекаем и, если устройство — мобильное, делаем редирект.

У мобильных устройств существует много разных юзер-агентов.
Агенты:
<?php
 $uagent=$_SERVER['HTTP_USER_AGENT'];
 if(preg_match('/(android|bb\d+|meego).+mobile|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\.(browser|link)|vodafone|wap|windows (ce|phone)|xda|xiino/i',$uagent)||preg_match('/1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s\-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|\-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw\-(n|u)|c55\/|capi|ccwa|cdm\-|cell|chtm|cldc|cmd\-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\-s|devi|dica|dmob|do(c|p)o|ds(12|\-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(\-|_)|g1 u|g560|gene|gf\-5|g\-mo|go(\.w|od)|gr(ad|un)|haie|hcit|hd\-(m|p|t)|hei\-|hi(pt|ta)|hp( i|ip)|hs\-c|ht(c(\-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i\-(20|go|ma)|i230|iac( |\-|\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\/)|klon|kpt |kwc\-|kyo(c|k)|le(no|xi)|lg( g|\/(k|l|u)|50|54|\-[a-w])|libw|lynx|m1\-w|m3ga|m50\/|ma(te|ui|xo)|mc(01|21|ca)|m\-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(\-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)\-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|\-([1-8]|c))|phil|pire|pl(ay|uc)|pn\-2|po(ck|rt|se)|prox|psio|pt\-g|qa\-a|qc(07|12|21|32|60|\-[2-7]|i\-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h\-|oo|p\-)|sdk\/|se(c(\-|0|1)|47|mc|nd|ri)|sgh\-|shar|sie(\-|m)|sk\-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h\-|v\-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl\-|tdg\-|tel(i|m)|tim\-|t\-mo|to(pl|sh)|ts(70|m\-|m3|m5)|tx\-9|up(\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|\-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(\-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas\-|your|zeto|zte\-/i',substr($uagent,0,4)))
    header('location: https://angelalex.ru/mobile/');
 ?>

Вставьте код в самое начало документа, а вместо https://angelalex.ru/mobile/ подставьте свой URL чтоб мобильные пользователи перелинковывались на нужный Вам URL. Обратите внимание, что перед этим кодом не должно быть даже пробельных символов и переводов строк — таковы уж особенности редиректов на PHP.

Передача меток и субаккаунтов на мобильный лендинг с помощью PHP



Обычно при ведении рекламных кампаний нужно получить как можно больше информации о трафике. Для этого используются, в основном, UTM-метки и субаккаунты для CPA-сетей. Хорошо бы при перенаправлении посетителя на мобильный лендинг передать и все эти данные.
Передача UTM-меток

Например, люди попадают на страницу https://angelalex.ru/page/?utm_source=xxx&utm_medium=yyy&utm_content=zzz. Нужно, чтобы все мобильные юзеры ушли на https://angelalex.ru/mobile/?utm_source=xxx&utm_medium=yyy&utm_content=zzz.

Для этого можно просто отрезать всё, что после ? и приклеить к мобильному URL. Однако, если исходная страница уже содержит GET-параметры, то лучше по отдельности вытащить все UTM-метки — это более универсальный вариант.

Итоговый код :

<?php
 $uagent=$_SERVER['HTTP_USER_AGENT'];
 if(preg_match('/(android|bb\d+|meego).+mobile|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\.(browser|link)|vodafone|wap|windows (ce|phone)|xda|xiino/i',$uagent)||preg_match('/1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s\-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|\-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw\-(n|u)|c55\/|capi|ccwa|cdm\-|cell|chtm|cldc|cmd\-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\-s|devi|dica|dmob|do(c|p)o|ds(12|\-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(\-|_)|g1 u|g560|gene|gf\-5|g\-mo|go(\.w|od)|gr(ad|un)|haie|hcit|hd\-(m|p|t)|hei\-|hi(pt|ta)|hp( i|ip)|hs\-c|ht(c(\-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i\-(20|go|ma)|i230|iac( |\-|\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\/)|klon|kpt |kwc\-|kyo(c|k)|le(no|xi)|lg( g|\/(k|l|u)|50|54|\-[a-w])|libw|lynx|m1\-w|m3ga|m50\/|ma(te|ui|xo)|mc(01|21|ca)|m\-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(\-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)\-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|\-([1-8]|c))|phil|pire|pl(ay|uc)|pn\-2|po(ck|rt|se)|prox|psio|pt\-g|qa\-a|qc(07|12|21|32|60|\-[2-7]|i\-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h\-|oo|p\-)|sdk\/|se(c(\-|0|1)|47|mc|nd|ri)|sgh\-|shar|sie(\-|m)|sk\-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h\-|v\-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl\-|tdg\-|tel(i|m)|tim\-|t\-mo|to(pl|sh)|ts(70|m\-|m3|m5)|tx\-9|up(\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|\-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(\-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas\-|your|zeto|zte\-/i',substr($uagent,0,4))){
    $utm_source=$_GET['utm_source'];
    $utm_medium=$_GET['utm_medium'];
    $utm_content=$_GET['utm_content'];
    header('location: https://angelalex.ru/mobile/?utm_source='.$utm_source.'&utm_medium='.$utm_medium.'&utm_content='.$utm_content);
 }
 ?>

Передача субаккаунтов

Если непонятен принцип действия, почитайте статью про UTM-метки и субаккаунты в CPA.

Если партнёрская ссылка, по которой мобильный посетитель должен уйти, такая https://angelalex.info/go/0f3c13f70409426ba0eee42428aa9b3e365b64d1eb0a0b0b/?subid=mobile-xxx&subid1=yyy&subid2=zzz, то последняя строчка в коде выше становится такой:

header('location: https://angelalex.info/go/0f3c13f70409426ba0eee42428aa9b3e365b64d1eb0a0b0b/?subid=mobile-'.$utm_source.'&subid1='.$utm_medium.'&subid2='.$utm_content);


Т.е. здесь мы из UTM-меток получили данные для субаккаунтов.


Мобильный редирект в .htaccess



Смысл тот же — исследуем юзер-агент. Если нужно сделать перенаправление с https://angelalex.ru/page/ на https://angelalex.ru/mobile-page/, то добавьте в .htaccess код:

RewriteCond %{HTTP_USER_AGENT} (?i:midp|samsung|nokia|j2me|avant|docomo|novarra|palmos|palmsource|opwv|chtml|pda|mmp|blackberry|mib|symbian|wireless|nokia|hand|mobi|phone|cdm|upb|audio|SIE|SEC|samsung|HTC|mot-|mitsu|sagem|sony|alcatel|lg|eric|vx|NEC|philips|mmm|xx|panasonic|sharp|wap|sch|rover|pocket|benq|java|pt|pg|vox|amoi|bird|compal|kg|voda|sany|kdd|dbt|sendo|sgh|gradi|jb|dddi|moto|iphone|android)
RewriteRule ^([^mobile]*?)page/?$ https://angelalex.ru/mobile-page/ [R=301,L]


Вставить после строки RewriteEngine On (если её нет — добавьте).

Если же нужно отправить всех мобильных посетителей на mobile-версию сайта (с любой страницы на https://m.angelalex.ru/), то последняя строчка из кода выше может иметь такой вид:

RewriteRule ^.*$ https://angelalex.ru/ [R=301,L]


Как передать UTM-метки и субаккаунты посредством .htaccess если вы не очень понимаете представленные здесь коды,
то лучше используйте вариант с PHP или jаvascript, речь о котором дальше.

Перенаправление на мобильную версию сайта в HTML (jаvascript)



Иногда нет возможности что-то редактировать на сайте на стороне сервера — например, вы используете конструктор сайтов. Тут-то и пригодится редирект на HTML, а точнее — на jаvascript, т.к. на простом HTML нужные условия не прописать.

Если нужно перекинуть мобильных юзеров на страницу https://angelalex.ru/mobile/, то можно использовать такой код:

<script type='text/javascript'>
if(window.innerWidth<600)
    location.href='https://angelalex.ru/mobile/';
</script>


В этом случае все посетители, у которых ширина экрана меньше 600 px перелинкуються на https://angelalex.ru/mobile/.
Если нужна меньшая ширина — изменяйте 600 на меньшее значение.


Передача меток и субаккаунтов на мобильный лендинг с помощью jаvascript



При перенаправлении этим способом также можно сохранить данные о трафике.
Передача UTM-меток

Если нужно, чтобы все мобильные посетители, зашедшие на https://angelalex.ru/page/?utm_source=xxx&utm_medium=yyy&utm_content=zzz перекинулись бы на https://angelalex.ru/mobile/?utm_source=xxx&utm_medium=yyy&utm_content=zzz, то можно использовать следующий код:


<script type='text/javascript'>
if(window.innerWidth<600){
    var url='https://angelalex.ru/mobile/', l=location.href;
    var utm_source=l.match(/utm_source=[^&]*/);
    var utm_medium=l.match(/utm_medium=[^&]*/);
    var utm_content=l.match(/utm_content=[^&]*/);
    location.href=url+'?'+utm_source+'&'+utm_medium+'&'+utm_content;
}
</script>

Передача субаккаунтов

Если нам нужно отправить мобильного юзера по адресу , то код немножко изменится:

<script type='text/javascript'>
if(window.innerWidth<600){
    var url='https://angelalex.ru/mobile/', l=location.href;
    var utm_source=l.match(/utm_source=([^&]*)/);
    var utm_medium=l.match(/utm_medium=([^&]*)/);
    var utm_content=l.match(/utm_content=([^&]*)/);
    location.href='http://advjump.com/go/0f3c13f70409426ba0eee42428aa9b3e365b64d1eb0a0b0b/?subid=mobile-'+utm_source[1]+'&subid1='+utm_medium[1]+'&subid2='+utm_content[1];
}
</script>


Из UTM-меток получили субаккаунты.
Какой способ мобильного редиректа лучше?

По скорости перенаправления лучше PHP и .htaccess, т.к. здесь посетитель даже не видит, что его перекидывает. Однако тут всё привязано к юзер-агенту. Если у посетителя будет неизвестный юзер-агент, то редиректа не произойдёт.

С jаvascript-редиректом юзер-агент не важен, т.к. проверяется только ширина экрана. Но здесь посетитель может заметить, как сначала попадает на одну страницу, а потом его перекидывает на другую.

Так что решайте сами, какой вид мобильного редиректа вам необходим.
САМОЕ ЧИТАЕМОЕ / КОММЕНТИРУЕМОЕ
  1. Explzh 7.77
  2. Пять проблем, которые могут проявиться при выращивании томатов
  3. ЕС и США возбудили уголовные дела против Петра Порошенко
  4. Сводки с Фронта ДНР за 24 - 25 Марта 2019 г
  5. Военным России предоставят своего собственного мобильного оператора
  6. Пoрядкa 90 cпopтсменoв Дoнбacca откpыли в Дoнецке мacштaбный фестивaль бopьбы
  7. Порошенко обвинил Медведчука и Бойко в желании посадить Украину на «российскую газовую иглу»
  8. Неопытный врач повредила внутренние органы роженицы, дернув за пуповину. Девушка скончалась в муках.
  9. Премьер-министр России встретился с Медведчуком и Бойко
  10. В ДНP уcилят кoнтpoль зa пpoизвoдствoм и oбopoтом aлкоголя и табaчныx изделий.
В Москве похоронили певицу Юлию Началову
В Москве похоронили певицу Юлию Началову
Церемония прощания прошла в ритуальном зале Троекуровского кладбища. В Москве на Троекуровском кладбище похоронили известную Читать далее
В Москве умерла певица Юлия Началова.
В Москве умерла певица Юлия Началова.
Российская певица Юлия Началова скончалась 16 марта в Москве в возрасте 38 лет, сообщила представительница артистки Анна Исаева. Читать далее
Вера Брежнева отказалась считать себя украинской певицей
Вера Брежнева отказалась считать себя украинской певицей
Певица Вера Брежнева призналась в интервью на Youtube-канале "Эмпатия манучи", что не считает себя украинской певицей. Ведущий Читать далее
Юлия Началова впала в состояние комы. У нее начали отказывать внутренние органы
Юлия Началова впала в состояние комы. У нее начали отказывать внутренние органы
Певица Юлия Началова находится в состоянии искусственной комы. Об этом в среду, 13 марта, сообщила PR-менеджер исполнительницы Читать далее
Все новости Шоу
Любовь похожа на прошедший дождь
Любовь похожа на прошедший дождь
Когда-то Акира Татибана серьёзно занималась лёгкой атлетикой, но была вынуждена оставить спорт из-за травмы. Теперь жизнь Читать далее
Мост в звездное небо [ТВ]
Мост в звездное небо [ТВ]
Братья Хосино приезжают в небольшой городок Ямабико, чтобы младший, 13-летний Аюму, поправил здоровье, а старший, 17-летний Читать далее
Девы Галилея
Девы Галилея
Действие разворачивается в 2061 году. На носу новый ледниковый период. Трое потомков Галилео Галилея - сёстры Ходзуки, Хадзуки и Читать далее
Восхождение Героя щита
Восхождение Героя щита
Иватани Наофуми затворник. Все свои дни он обычно проводил за играми и мангой. Но внезапно, неожиданно для себя, Иватани Читать далее
Все Аниме
«    Март 2019    »
ПнВтСрЧтПтСбВс
 123
45678910
11121314151617
18192021222324
25262728293031
Галерея новостей
ЕС и США возбудили уголовные дела против Петра Порошенко
ЕС и США возбудили уголовные дела против Петра Порошенко
Военным России предоставят своего собственного мобильного оператора
Военным России предоставят своего собственного мобильного оператора
Порошенко обвинил Медведчука и Бойко в желании посадить Украину на «российскую газовую иглу»
Порошенко обвинил Медведчука и Бойко в желании посадить Украину на «российскую газовую иглу»
Неопытный врач повредила внутренние органы роженицы, дернув за пуповину. Девушка скончалась в муках.
Неопытный врач повредила внутренние органы роженицы, дернув за пуповину. Девушка скончалась в муках.
Премьер-министр России встретился с Медведчуком и Бойко
Премьер-министр России встретился с Медведчуком и Бойко
Пропавший 9-летний мальчик, которого искали сотни людей, спал у друга дома, а пока его искали от переживаний умерла его бабушка.
Пропавший 9-летний мальчик, которого искали сотни людей, спал у друга дома, а пока его искали от переживаний умерла его бабушка.
Парень отправил в нокдаун двоих собутыльников своей девушки
Парень отправил в нокдаун двоих собутыльников своей девушки
Россия готовится к массовой выдаче паспортов жителям Донбасса.
Россия готовится к массовой выдаче паспортов жителям Донбасса.
Митинг Петра Порошенко на Западной Украине обернулся дракой
Митинг Петра Порошенко на Западной Украине обернулся дракой
В Ростовской области 16-летняя школьница родила в туалете и спрятала малыша в пакет и выбросила
В Ростовской области 16-летняя школьница родила в туалете и спрятала малыша в пакет и выбросила
Владимир Зеленский: Сторонники Новороссии – зомби. Нужна информационная война против ЛДНР.
Владимир Зеленский: Сторонники Новороссии – зомби. Нужна информационная война против ЛДНР.
В Сорочинске бывший муж в порыве злости сбил на большой скорости свою экс возлюбленную.
В Сорочинске бывший муж в порыве злости сбил на большой скорости свою экс возлюбленную.
Аптеки Мариуполя развернули торговлю наркотиками
Аптеки Мариуполя развернули торговлю наркотиками
По России пройдет акция за признание ДНР и ЛНР
По России пройдет акция за признание ДНР и ЛНР
На Урале молодая девушка с парнем зарезала свою семью
На Урале молодая девушка с парнем зарезала свою семью