PHP-替换链接中的子文件夹(以更改语言)

PHP-替换链接中的子文件夹(以更改语言),php,redirect,Php,Redirect,这是我在这个论坛上的第一篇帖子,所以请原谅我无意中的错误 那么,让我试着解释一下我的问题是什么: 我有一个两种语言的网站,文件夹结构如下: 我的网站/俄罗斯(俄语) 和 我的网站/英文(英文) 当我在该网站的俄文版上时,指向所有类别的链接如下所示: subdomain.domain.com/ru/clients/myclient, subdomain.domain.com/ru/services/myservice 等 当我在网站的英文版上时,链接看起来是一样的,唯一的区别是/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/part更改为/en/和viceversa

我尝试在网上搜索解决方案,但找不到真正适合我的。
多谢各位

使用绝对链接,您可以执行以下操作

// 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>';
//请求\u URI包含您当前的URI,如“/en/services/myservice”
//按“/”拆分此URI
$uriParts=explode(“/”,$\u服务器['REQUEST\u URI']);
//获取“en”之后的所有值
$uriPartsWithoutLang=数组\ U片($uriParts,2);
//在新URI前面加上'ru'和
//将剩余的数组值再次与“/”关联
$newUri='/ru/'。内爆(“/”,$uriPartsWithoutLang);
//打印出链接
回声';

您可以使用str\u替换函数来执行此操作


当我看到这句话时,我的眼睛在流血:(请把你的问题格式化好吗?你只有两种语言en/ru吗?为什么不提供一些代码?一些工作?一些特定的、过于宽泛的问题。@Serhat Akay和NullPoièteèღ : 抱歉这么无知。我会尽量记住你对未来的建议。再次感谢TiMESPLiNTER提供的完美解决方案。非常感谢。我希望我能投票支持你的解释,但我不能:(.无论如何,它很有魅力!再次感谢你!但是你可以把它标记为你问题的正确解决方案,不是吗?哦,天哪,我真是个傻瓜:))是的,我当然可以。
 $url = "subdomain.domain.com/ru/clients/myclient";
 $newurl =  str_replace("ru","en",$url);