PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи

Страниц (1): [1]

> Найдено сообщений: 4
Kiriil1.Adv Отправлено: 24 Августа, 2020 - 13:07:25 • Тема: Определения языка браузера и последующий редирект -  Согласно языку • Форум: Программирование на PHP

Ответов: 6
Просмотров: 647
У меня на выходных возникла идейка
- можно попробовать без куков и лишних заморочек
- только вопрос как на это отреагируют поисковики при индексации при новой структуре и что будут со старыми ссылками как их поисковик обработает?




Вот структура сайта (соответственно на каждой странице сайта будет возможность выбора языка принудительно, и ссылки будут переходить, согласно структуре сайта - ниже)
-----------------------


мойдомен.ru
|
index.php (содержит только на редирект (блок кода - 1 смотри внизу))
|
|\
мойдомен.ru/eng/index.php (и получаеться все обращания к страницам бцдцт в рамках префикса /eng/)
|
|
|\
мойдомен.ru/rus/index.php (и получаеться все обращания к страницам бцдцт в рамках префикса /rus/)




(блок кода - 1)
-------------------------------- -
preg_match('/^\w{2}/', $_SERVER['HTTP_ACCEPT_LANGUAGE'], $m);
switch (strtolower($m[0])) {
case 'ru': header('Location: /rus/index.php'); break;
default: header('Location: /eng/index.php'); break;
}
Kiriil1.Adv Отправлено: 21 Августа, 2020 - 11:31:21 • Тема: Определения языка браузера и последующий редирект -  Согласно языку • Форум: Программирование на PHP

Ответов: 6
Просмотров: 647
Vladimir Kheifets пишет:
Kiriil1.Adv пишет:
в index.php в начало страницы вставил
----------------
<?php

preg_match('/^\w{2}/', $_SERVER['HTTP_ACCEPT_LANGUAGE'], $m);
switch (strtolower($m[0])) {
case 'ru': header('Location: /ru/index.php'); break;
}

...
...
...

----------------

index.php - сайт на английском (по  умолчанию)
/ru/index.php - русская версия

Соответсвенно:
1) если у пользователя в браузере любая локаль(кроме русской) - index.php продолжает дальше програжаться
2) если у пользователя в браузере русская локаль index.php делает редирект на /ru/index.php

Добрый день!
1. Советую Вам добавить возможность выбора языка иначе, если у пользователя
в браузере любая локаль(кроме русской), он русскую версию не сможет открыть.

2. Вы можете избавится от редиректа и переписывания кодов на разных языках
(например, index.php на русском и index.php на английском), а вместо этого оставить
один index.php, заменив в нём тексты на переменные, выбираемые для выбранного
языка из БД или из файлов.

3.Если на сайте предусматривется авторизация пользователя, до желательно
предусмотреть в профили позиции для ввода языка и страны.
Тогда после авторизации можно автоматически переключать язык.

4.Вы можете использовать куки для сохранения выбранного языка и/или идентификатора
пользователя. Это также можно применить для автоматической авторизации
и переключения языка(не в режиме инкогнито).

Удачи!



Стократно Благодарю, спасибо
Kiriil1.Adv Отправлено: 20 Августа, 2020 - 19:33:25 • Тема: Определения языка браузера и последующий редирект -  Согласно языку • Форум: Программирование на PHP

Ответов: 6
Просмотров: 647
в index.php в начало страницы вставил
----------------
<?php

preg_match('/^\w{2}/', $_SERVER['HTTP_ACCEPT_LANGUAGE'], $m);
switch (strtolower($m[0])) {
case 'ru': header('Location: /ru/index.php'); break;
}

...
...
...

----------------

index.php - сайт на английском (по  умолчанию)
/ru/index.php - русская версия

Соответсвенно:
1) если у пользователя в браузере любая локаль(кроме русской) - index.php продолжает дальше програжаться
2) если у пользователя в браузере русская локаль index.php делает редирект на /ru/index.php
Kiriil1.Adv Отправлено: 19 Августа, 2020 - 14:47:29 • Тема: Определения языка браузера и последующий редирект -  Согласно языку • Форум: Программирование на PHP

Ответов: 6
Просмотров: 647
Всем, доброго дня

Подскажите пожалуйста рабочий пример, для "Определения языка браузера и последующий редирект на русскоязычную версию сайта для русской версия браузера, английский язык во всех других случаях",

Сам перечитал тону мануалов, но рабочей версии не нашёл. Например, в режиме инкогнито google chrome на MacOS всегда показывает английский язык, а Safari русский

Вот например при заходе на сайт www[dot]minecraft[dot]net если у меня операционнка на русском языке во всех браузера, а также в инкогнито режимах перекидывает на русскоязычную версию сайта, как это реализовано?


Заранее спасибо

Страниц (1): [1]
Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB