Как создать перенаправления по стране?
Как я могу сделать, чтобы создать перенаправления по стране?
, Говорю, давайте предположим, что я получал посетитель Мексика, то придется перенаправить meusite.com/mx/
, я уже получают тура Бразилия перейдите meusite.com/br/
и даже если появляется посетить Португалия перенаправить meusite.com/pt/
, etc...
Как я могу это сделать? Какое решение лучше?
1 answers
Вы можете использовать некоторые функции.
, Когда браузер имеет доступ к геолокации
Вы можете использовать javascript, чтобы получить геолокации request. Однако, вы будете иметь, чтобы узнать, что долгота и широта B, часть страны X. я Считаю, что это поможет вам генерировать определенный работе:
if(navigator.geolocation) {
navigator.geolocation.getCurrentPosition(function(position) {
var la = position.coords.latitude;
var lo = position.coords.longitude; console.log([la, lo]);
});
}
Быть Основаны на ip, который сделал request
Есть компании, которые дают вам точное местоположение request, основанный на ip, например, компания: https://www.maxmind.com/
Доставке, что пользователь хочет увидеть (как сотрудников обычно)
Один из способов определить, какой язык пользователь либо появиться содержимое post (response) - это оценка переменной Accept-Language
), которая входит в request.
Например, в php будет выглядеть так:
<?php
echo $_SERVER['HTTP_ACCEPT_LANGUAGE'];
// "en-US,en;q=0.8"
В Этом случае, пользователь принимает (нужно) получить содержимое en-US
. Таким образом, вы точно знаете, куда перенаправить пост, который поставляется meusite.com/
meusite.com/en
, например.
Это самый простой способ определить "откуда" пользователя, потому что пользователь, как правило, устанавливает, что он хочет получать в соответствии с местом, которое они в том, что если на Соединенные Штаты - en-US, если вы в Бразилии - pt-BR. Однако, это не правило. Некоторые пользователи могут настроить свои браузеры en-US
, находиться в Бразилии, и игнорировать все другие языки. Так что, таким образом, определить язык, не на основе того, где пользователь находится, но от что пользователь хочет получить - что гораздо лучше, в моем понимании.
В Случае, если пользователь является японский и находитесь в Бразилии, в идеале перенаправить вас meusite.com/jp
, учитывая, что этот пользователь будет наиболее комфортно, родной язык его.
Перенаправить на PHP
$lang = $_SERVER['HTTP_ACCEPT_LANGUAGE'];
header("Location: http://www.meusite.com/$lang" ) ;