Хочу настроить мобильную версию сайта. Не получается сделать редирект сайта на мобильную версию сайт.ру -> сайт.ру/мобильный собственно сам редирект работает. но нужно теперь каждую ссылку из поисковиков переводить на версию мобильного сайта, если заход с мобильника. это вызывает бесконечный редирект %) т.е. нужно при переходе на сайт.ру/статья1 перенаправиться на сайт.ру/мобильный/статья1 не получается скорее всего из-за устройства движка сайта. т.е. при переходе на мобильный сайт, снова срабатывает код редиректа. редиректы пробывал разные и php и javascript - работает одинаково. интересен опыт других, как можно это реализовать ?!
@vfiuchcikicshuusrch, покажите код. Хотя вообще, сейчас стараются вместо мобильной версии делать адаптивную вёрстку Интересно, как ты через mod_rewrite собрался опрелелять мобилки?
юзаю nginx в nginxe есть вариант рерайта. но не понимаю как оно работать должно. для определения мобилок использую библиотеку Mobile_Detect.php работает хорошо. вот таким кодом пытаюсь всё наладить. временно использую редирект на /m/, чтобы хотябы без чпу кидало на сайт. Код (Text): require_once "include/Mobile_Detect.php"; $detect = new Mobile_Detect(); $mobilesite = $detect->isMobile(); if ($mobilesite) { $new_uri = str_replace('/m', '', $_SERVER['REQUEST_URI']); $new_uri = str_replace('/', '', $new_uri); header('Location: '.BLOG_URL.'m/' . $new_uri, ); # header('Location: /m/'); exit(0); }
@miketomlin меня устраивает то, что есть. я не профессиональный вэб программист. мне нужно пофиксить свой сайт, чтобы работал. технологии не важны. я даже не любитель в области вэб программирования. @mkramer хм... попробую. интересно
Были когда-то умельцы, кот. лепили карту для mod_rewrite под User-Agent или еще ХЗ что, но все вымерли Ты спросил, я ответил. --- Добавлено --- Причем тест мобильной ветки поставьте на первое место, чтобы понапрасну не дергать isMobile. А лучше оберните всю показанную мобильную лабуду или сделайте вложенное ветвление.
есть файл init.php: Код (Text): error_reporting(7); ob_start(); header('Content-Type: text/html; charset=UTF-8'); дальше идет перечисление definов... главный index index.php - туда встроил мобайл детект, сразу перекидывает на мобильную ветку сайта. после header стоит exit() чтобы дальше не выполнялся код если открылся на ПК, то index.php выполняется до конца загружая обычный шаблон и init.php. после редиректа на мобильную ветку выполняется m/index.php в m/index.php первым наперво выполняется init.php. вобщем. как только не пробовал, если выстраивается правильная логика, то вылетает в бесконечный редирект и всё... проще сайт в "адаптивный" переписать ? %)
Блин, чувак, я тебе разжевал, только в рот положить осталось. Ладно, кладу PHP: if (strpos($_SERVER['REQUEST_URI'], '/m/') !== false) { // Мы на мобильной версии сайта, редиректить не надо }
@mkramer чувак, это не помогает! я первым делом это проверил, только использовал substr первые 3 символа, тот же бесконечный редирект. если переходишь просто на /m/ то всё ок. бесконечный редирект когда ссылка на статью идет т.е. url/blog1 -> url/m/blog1 вот мой код... Код (Text): $surl = substr($_SERVER['REQUEST_URI'], 0, 3); if (!$surl == '/m/') { ### определение мобильного устройства и редирект на мобильный сайт require_once "include/Mobile_Detect.php"; $detect = new Mobile_Detect(); $mobilesite = $detect->isMobile(); $new_uri = str_replace('/m', '', $_SERVER['REQUEST_URI']); $new_uri = str_replace('/', '', $new_uri); header('Location: /m/' . $new_uri ); exit(0); } может быть проблема где то в настройках вэб сервера или дальше в коде сайта ?!.. если это должно работать.
Переписать в адаптивный не проще. Но намного правильней. В т.ч. и для SEO. Проще кому-нить здесь заплатить за полчаса-час работы - пусть настроят да и всё. Это если говорить о "проще"))
Чувак, если не сечешь в пыхе, лучше попроси кого-нибудь это сделать за тебя. Что по-твоему означает !$surl? Ты, видимо, наивно полагал, что сравнение должно выполняться первым. И когда я пишу про вложенное ветвление, я надеюсь увидеть его, а не ХЗ что --- Добавлено --- WTF Тут url – это что? Надеюсь, имя хоста. Иначе ты впендюрил компонент m в середину пути, когда он по идее должен быть префиксом. И раз у тебя адресация без трэйлинг слэшей, с главной/мобильной главной могут быть проблемы из-за условия с '/m/'
@miketomlin чувак, !$url я переписал как сказал чувак mkramer в посту 11, эффекта никакого это не дало. url это хост, как ты правильно подметил (т.е. dns имя сайта я хз куда ещё понятнее, и это не имеет значения, в локальной сети могу и по имени "url" обратится к хосту... что это изменит ? странно, что если ты сечешь в пыхе, тебя это вообще смущает))) да. мне нужно вставить /m/ в середину пути. и да с этим проблемы. и я понимаю откуда они берутся, но хз как их обойти. поэтому - всё! перевожу сайт типа в адаптивный %) это оказалось проще!. Спойлер: п.с. п.с. чуваки! у вас тут чувак - это типа нуб ? или вы ко всем так обращаетесь ?. я создал тему в разделе для новичков, естественно я не позиционирую себя как "секу в пыхе" %) что б.. за вопросы ?! %) никому платить не буду, это того не стоит вообще. всем спасибо, за попытки помочь. логичнее всё таки, как и сказали выше, использовать адаптивный сайт.
Он норм. сказал, ты неправильно переписал. Я тебе пояснил, почему это меня смущает. И, как выясняется, оч. даже по делу, потому что это и есть осн. твоя проблема: Обращение я позаимствовал у тебя. Почему тебе это можно, а мне нельзя? С оплатой сразу было все понятно. Тут очевидно, что ты из той категории, кто готов с легкостью сломать свой сайт, чем кому-то заплатить копейку. Благодарить за «попытки помочь» этой категории граждан также особо свойственно, когда они не получают требуемое на халяву.
P.S. Если чЁ, я не про себя. Если мне с этого форума перепадает раз в год пару баксов на пирожок, это хорошо. В основном «работаю» бесплатно. --- Добавлено --- Если бы ты сам меньше писал не по делу, было бы меньше реакции. Успехов.
я его код и использовал, а то что скинул посмотреть это было до того. тему читай. надоело препираться. либо ты придуриваешься... выше же написал, что уже всё "адаптивным" стало без всяких лишних ссылок на /m/.