重定向链接基于当前URL

时间:2012-01-25 17:05:48

标签: php redirect str-replace self

我们在根目录 http://www.mywebsite.com 中运行一个英文版本的网站,在名为“cs”的文件夹中运行一个捷克语版本 http:// www.mywebsite.com/cs

在我们之前的网站上,我们处理了根目录中的两种语言版本,但是将英文文件作为标准文件名(例如:index.php)和捷克文件,并在文件名后附加_cz(例如:index_.php。然后我们在网站顶部有两个标记按钮,因此可以调用每个特定页面的每个语言版本,标题代码的相关部分是:

href="http://www.mywebsite.cz<?php echo str_replace('.', '_cz.', $_SERVER['PHP_SELF']);?>"
href="http://www.mywebsite.com<?php echo str_replace('_cz.', '.', $_SERVER['PHP_SELF']);?>"

这就是背景。我们的新网站使用CodeIgniter动态创建页面。我们需要修改上面的代码,以便当用户在英文页面上(例如: http://www.mywebsite.com/home/signup )时,捷克国旗按钮显示 http://www.mywebsite.com/cs/home/signup

然后反之亦然捷克语页面 - cs / 将从网址中删除。您能否以与原始操作类似的方式修改上述代码?非常感谢!

1 个答案:

答案 0 :(得分:1)

<?php        
$path = str_replace('/cs/','',$_SERVER['REQUEST_URI']);    
$cz_url = 'http://mywebsite.com/cs/'.$path; 
$en_url = 'http://mywebsite.com'.$path; 
?>

<强>更新

如果我理解你的意思,可能是这样的:

<a href="http://mywebsite.com/cs<?php echo trim(str_replace('/cs/','',$_SERVER['REQUEST_URI']),'/'); ?>">Czech</a> 
<a href="http://mywebsite.com/<?php echo trim(str_replace('/cs/','',$_SERVER['REQUEST_URI']),'/'); ?>">English</a>