http重定向循环,多语言网站

时间:2014-03-15 08:46:48

标签: php multilingual

我正在尝试用英语(en)和阿塞拜疆语(az)两种语言制作我的网站 我将语言存储在$ _SESSION变量中,默认语言为英语,我将语言文件保存在web根目录中,将阿塞拜疆语文件保存在az文件夹中。

我的问题是当语言更改为例如az时我将用户重定向到http://thephotofilm/az/......而我不希望用户转到http://thephotofilm.com/......,因为当前语言是az所以我尝试了一些但是有时我有重定向循环,我无法弄清楚

$request_uri = $_SERVER['REQUEST_URI'];

if( isset($_SESSION['lang']) ) { 
    $lang=$_SESSION['lang'];
}

if( isset($_COOKIE['lang']) ) { 
    $lang=$_COOKIE['lang'];
}

if( $lang == "az" && strpos($request_uri,"/az/", 0) !== 0 ) {
    header("Location: /az".$request_uri);
}

if( $lang=="en" && strpos($request_uri,"/az/", 0) === 0 ) {
    header("Location: ".substr($request_uri, 3));
}

1 个答案:

答案 0 :(得分:0)

您可以在选定版本的变量中设置路径。

例如:

if(english)
    $base_url="http://thephotofilm.com/" // for English
else
    $base_url="http://thephotofilm.com/az" // for Azerbaijani 

然后使用变量$ base_url

启动每个链接