0

这是我在这个论坛上的第一篇文章,所以请原谅我的任何无意错误。

所以,让我试着解释一下我的问题是什么:

我有一个两种语言的网站,其文件夹结构如下:

mywebsite/ru(俄语)和 mywebsite/en(英语)

当我在网站的俄语版本上时,所有类别的链接如下所示:

subdomain.domain.com/ru/clients/myclient、subdomain.domain.com/ru/services/myservice 等

当我在网站的英文版上时,链接看起来一样,唯一的区别是 /en/ 子文件夹而不是 /ru/ 子文件夹:

subdomain.domain.com/en/clients/myclient, subdomain.domain.com/en/services/myservice

我想做的是在网站的标题中有两个链接,一个是英文的,一个是俄文的,这些链接应该自动将语言切换到当前页面的英文/俄文版本。

所以,如果我在 subdomain.domain.com/ru/services/myservice 上并单击英文链接,我想被重定向到 subdomain.domain.com/en/services/myservice 或者,如果我在

因此,如果我在 subdomain.domain.com/ru/clients/myclient 上并单击英文链接,我想被重定向到 subdomain.domain.com/en/clients/myclient

所以基本上,我需要一个 php 脚本(或 javascript,如果更简单的话),它将保留现有链接并将 /ru/ 部分更改为 /en/ ,反之亦然。

我尝试在网上搜索解决方案,但找不到真正适合我的解决方案。非常感谢!

4

2 回答 2

2

使用绝对链接你可以做类似的事情

// REQUEST_URI contains your current URI like '/en/services/myservice'
// split this URI by '/'
$uriParts = explode('/', $_SERVER['REQUEST_URI']);

// get all values after 'en'
$uriPartsWithoutLang = array_slice($uriParts, 2);

// prefix the new URI with 'ru' and 
// concatinate the remaining array values with '/' again
$newUri = '/ru/' . implode('/', $uriPartsWithoutLang);

// print out the link
echo '<a href="' , $newUri , '">Russia</a>';
于 2013-11-05T08:02:10.677 回答
0

您可以为此使用 str_replace 函数

http://php.net/manual/en/function.str-replace.php

 $url = "subdomain.domain.com/ru/clients/myclient";
 $newurl =  str_replace("ru","en",$url);
于 2013-11-05T08:17:36.513 回答