如何根据国家/地区明确重定向到文件

时间:2014-12-28 12:49:05

标签: php

我根据我公司的国家/地区使用不同的网站目录,如

  

Getacho.com
  Getacho.com/pk/
  Getacho.com/uk/
  Getacho.com/ca/

我正在使用一个脚本。因为我打开巴基斯坦时来自

  

Getacho.com

我重定向到

  

Getacho.com/pk

但问题是我打开的时候。

  

Getacho.com/about.php

我不会重定向到

  

Getacho.com/pk/about.php。


这是执行第一次重定向的代码的脚本:

<?php
require_once('geoplugin.class.php');
$geoplugin = new geoPlugin();
$geoplugin->locate();
// create a variable for the country code
$var_country_code = $geoplugin->countryCode;
// redirect based on country code:
if ($var_country_code == "US" OR $var_country_code == "UM") {
header('Location: http://www.getacho.com/');
}
elseif($var_country_code == "PK") {
header('Location: http://www.getacho.com/pk/');
}
elseif($var_country_code == "AE") {
header('Location: http://www.getacho.com/ae/');
}
elseif($var_country_code == "CA") {
header('Location: http://www.getacho.com/ca/');
}
elseif($var_country_code == "GB") {
header('Location: http://www.getacho.com/uk/');
}
elseif($var_country_code == "IN") {
header('Location: http://www.getacho.com/in/');
}
?>

1 个答案:

答案 0 :(得分:0)

由于您使用的是Apache,因此可以使用服务器变量REQUEST_URI来获取请求的URL。然后它只是将其添加到url:

if ($var_country_code == "US" OR $var_country_code == "UM") {
  header( "Location: http://www.getacho.com{$_SERVER['REQUEST_URI']}" );
} elseif($var_country_code == "PK") {
  header( "Location: http://www.getacho.com/pk{$_SERVER['REQUEST_URI']}" );
} elseif( ... ) { 
  //etc
}