更改语言目录而不重定向到索引页面

时间:2013-03-24 23:28:29

标签: php file chdir

我有三种语言的网站:

 www.mysite.com/it/FILES
 www.mysite.com/de/FILES
 www.mysite.com/fr/FILES

在网站的标题上,我有三个链接,每种语言一个。 每个链接都重定向到

/language/index.php

我想将用户重定向到他正在观看的当前页面,但是使用新语言。

我试过

__FILE__

dirname

但我没达到那个!

谢谢!

1 个答案:

答案 0 :(得分:0)

在您的加载页面中尝试此操作:

$prefix = $_SERVER['HTTP_HOST'];
$file = explode('/', $_SERVER['PHP_SELF']);
$page = $file[count($file)-1];

if (file_exists($prefix.'/it/'.$page)) {
    http_redirect($prefix.'/it/'.$page); // For Italian
}

if (file_exists($prefix.'/de/'.$page)) {
    http_redirect($prefix.'/de/'.$page); // For German
}

if (file_exists($prefix.'/fr/'.$page)) {
    http_redirect($prefix.'/fr/'.$page); // For French
}

在JavaScript(jQuery点击示例)中,您可以执行以下操作:

var host = document.location.hostname;
var path = window.location.href;
var filename = path.replace(/^.*[\\\/]/, '');

$('.myItalianLink').click(function(){
    window.location.href = host + '/it/' + filename; // For Italian
});

console.log(host + '/it/' + filename);

输出:

http://www.mywebsite.com/it/html4.php

JavaScript方法可能更适合您的需求,因为它在用户交互(您命名的链接)的情况下更具反应性。