Перенаправление .htaccess работает на ПК и iPhone, но не на Android

  • Автор темы CutlyMe
  • 50
  • Обновлено
  • 13, May 2024
  • #1
Привет,

Я пытаюсь перенаправить мобильных пользователей на букву «м». пользователей субдомена и настольного компьютера на «www». поддомен.

Однако идея заключается в том, что если пользователь предоставляет поддомен вручную, он не будет перенаправлен.

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

 #Options +FollowSymlinks

RewriteEngine On

RewriteBase /

#AllowOverride all

# Force “m.domain.com” for mobile devices instead of just “domain.com”

RewriteCond %{HTTP_USER_AGENT} "android|blackberry|ipad|iphone|ipod|iemobile|opera mobile|palmos|webos|symbian|midp|wap|phone|pocket|mobile|pda|psp|googlebot-mobile" [NC]

RewriteCond %{HTTP_HOST} .

RewriteCond %{HTTP_HOST} !^www\.domain\.com [NC]

RewriteCond %{HTTP_HOST} !^m\.domain\.com [NC]

RewriteRule (.*) [URL='https://lumtu.com/yti/bwYYwb21odHRwOi8vbS5kb21haW4uWah']http://m.domain.com/$1[/URL] [R=301,L]

# Force “www.domain.com” instead of just “domain.com”

RewriteCond %{HTTP_HOST} .

RewriteCond %{HTTP_HOST} !^www\.domain\.com [NC]

RewriteCond %{HTTP_HOST} !^m\.domain\.com [NC]

RewriteRule (.*) [URL='https://lumtu.com/yti/bMmmMb21odHRwOi8vZG9tYWluLlWY']http://www.domain.com/$1[/URL] [R=301,L]




Код (ApacheConf): по непонятной мне причине при попытке получить доступ к домену (без указания какого-либо поддомена) мои смартфоны под управлением Android не выполняют перенаправление и отображают сообщение об ошибке «Недоступная страница», сообщающее, что Интернет страница временно недоступна или была перемещена на новый веб-адрес.

Перенаправление на поддомен www отлично работает на настольном компьютере.

Странно то, что если я закомментирую строки, предназначенные для мобильных устройств, перенаправление на поддомен www вступит в силу на iPhone, но не на Android.

В Android перенаправления вообще нет.

Теперь, если я зайду на веб-сайт на Android, используя адрес «www.

префикс, сайт отображает. Если я затем удалю «www.»

префикс и попробуйте снова получить доступ к странице, Android добавит префикс «www». в адресной строке. Однако сообщение об ошибке недоступной страницы остается.

Большое спасибо за Вашу помощь.

CutlyMe


Рег
28 Jul, 2015

Тем
1

Постов
3

Баллов
13
  • 01, Jun 2024
  • #2
Конечно, я скажу вам, если что-то плохо. Какие причины? Я хотел бы услышать причины использования m-поддомена. Пожалуйста, просветите меня на ваше гениальное решение проблемы, которая уже много лет является плохой практикой?
 

ghost2


Рег
20 Nov, 2011

Тем
0

Постов
1

Баллов
1
  • 03, Jun 2024
  • #3
Это не по теме, но, отвечая на вопрос PoPSiCLe, есть несколько причин, по которым я решил использовать поддомены:
  • Необходимость того, чтобы мобильная и настольная версии сайта были доступны для чтения с ПК или мобильного устройства.
    (чтобы можно было увидеть, как будут отображаться обе версии при их редактировании на ПК, или возможность также проверить отображение настольной версии, если проблема возникает вдали от офиса и без компьютера)
  • Легкость редактирования URL-адреса для переключения между обеими версиями, просто заменив «www» на «m» и наоборот.
  • Обе версии основаны на CMS, расположенной в одной папке, но структура сайта не одинакова.

    Например, некоторые страницы настольной версии объединяют содержимое подстраниц, тогда как мобильная версия отображает ссылки на эти подстраницы.

    В мобильной версии также есть контекстное меню, которого нет в настольной версии.
  • Эти два макета совершенно разные (без адаптивного CSS).
  • Нежелание иметь подпапки в URL-адресе.
  • Не нужны дополнительные параметры GET в URL-адресе.


Связь между страницами была упомянута с помощью элементов , следуя советам Google по отдельным URL-адресам:
https://developers.google.com/webmasters/mobile-sites/mobile-seo/separate-urls?hl=en

Я нахожу ваш ответ одновременно ироничным и догматичным: я не знаю, о чем вы думаете.

Адаптивный дизайн? Веб-сайт, о котором я говорю, на самом деле похож на специализированный веб-сайт, но с огромным преимуществом, что данные (база данных + файлы) не дублируются. Он предлагает два способа доступа к одним и тем же данным.

Таким образом, это более высокий уровень, чем стандартный веб-сайт с адаптивным дизайном.

Я бы предпочёл такое обсуждение в личных сообщениях, так как мы расходимся с темой.

Я считаю, что отчасти проблема связана с конфигурацией сервера, который использует общий хостинг, поскольку у меня возникают трудности с перенаправлением на что-то другое, кроме субдомена «www».

Другая часть проблемы, по-видимому, заключается в том, что Android предотвращает перенаправление на другой (суб)домен, возможно, по соображениям безопасности.

Я думаю, что собираюсь установить какой-нибудь скрипт, чтобы предлагать мобильную версию, если пользователь впервые заходит на веб-сайт с Android/iOS, и использовать файл cookie для хранения выбора пользователя.

Я также добавил жесткую ссылку на домашнюю страницу в мобильную версию.
 

AntonGE


Рег
19 Feb, 2013

Тем
1

Постов
3

Баллов
13
  • 12, Jun 2024
  • #4
Пожалуйста, не говорите, хорошо это или плохо. У меня были на это причины, и я не считаю, что в данном случае это было плохо. Одна из проблем может быть связана с родным браузером на Android, который, похоже, не принимает перенаправления. Firefox Fennec умеет перенаправлять, но, похоже, всегда хочет «www». даже при настройке уникального перенаправления на «м.».
 

braintm


Рег
07 Aug, 2013

Тем
0

Постов
2

Баллов
2
Тем
49554
Комментарии
57426
Опыт
552966

Интересно