Можно ли сделать 301 переадресацию по странам?

У нас есть веб-сайт .com, но он работает в Великобритании и США, мы хотим .com до 301 на веб-сайт .co.uk, но только для людей в Великобритании и ---- +: = 3 =: + ----, чтобы оставаться как есть. Возможно ли это с 301 - если не самый лучший способ?

2 голоса | спросил chrisAVF 11 AM000000110000005931 2015, 11:07:59

1 ответ


1

Использование .htaccess

Вы делаете это с помощью простого правила .htaccess, обнаруживая браузеры Accept-Language (читайте здесь) .

RewriteEngine on

RewriteCond %{HTTP:Accept-language} ^en-GB [NC]
RewriteRule ^$ https://example.co.uk [L,R=301]

Использование PHP

Вы можете сделать это с помощью языка программирования для выполнения поиска (обычно я использую сторонний открытый API), затем отправляю заголовок 301, если он подпадает под ваши критерии.

Например, используя PHP, мы можем сделать следующее:

<?php
$curl = curl_init();
curl_setopt_array($curl, array(
  CURLOPT_URL => "http://www.geoplugin.net/json.gp?ip=". $_SERVER['REMOTE_ADDR'],
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => "",
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 30,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => "GET"
));

$response = curl_exec($curl);
$err = curl_error($curl);

curl_close($curl);

if ($err) {
  //There was an error with the curl request
  //Don't do anything...
} else {
  $res = json_decode($response, true);
  if( strtoupper($res->geoplugin_countryCode) == "GB" ) {
    //Issue the 301
    header("Location: http://example.co.uk", TRUE, 301);
    die;
  }  
}
ответил hd. 11 PM00000030000005231 2015, 15:49:52

Похожие вопросы

Популярные теги

security × 330linux × 316macos × 2827 × 268performance × 244command-line × 241sql-server × 235joomla-3.x × 222java × 189c++ × 186windows × 180cisco × 168bash × 158c# × 142gmail × 139arduino-uno × 139javascript × 134ssh × 133seo × 132mysql × 132