更改当前页面的URL以链接到法语版本

时间:2011-11-25 02:27:18

标签: php url

我正在建立一个英文版和法文版的客户端网站。

在英文页面上,我希望用户能够点击“法语版”链接,该链接会自动将其带到法语版本的页面。

所以如果我的网址结构是这样的:

http://mysite.com/en/page-name

我希望“法语版”链接指向:

http://mysite.com/fr/page-name

有人可以请我提供php以获取当前页面网址,并在链接代码中替换/ en / for / fr /吗?我知道这可能非常简单,但我是一个新手。

1 个答案:

答案 0 :(得分:4)

在您的页面模板或渲染中,只需将其用于链接即可。假设当前语言存储在名为$ current_lang的变量中。在页面顶部添加此代码(它不必位于顶部,只是在您尝试使用链接之前的某个位置):

<?php
$french_link = str_replace("/$current_lang/",  '/fr/', $_SERVER['REQUEST_URI']);
?>

现在只需使用$ french_link作为该页面的链接。所以在你的锚链接中使用这个:

<a href="<?php echo $french_link; ?>">French Version</a>

请注意,大多数服务器都启用了PHP“短标记”,因此您可以将其用于链接:

<a href="<?= $french_link; ?>">French Version</a>

&lt;?=语法只是&lt;?php echo的缩写。我个人更喜欢这种语法,但另一方面有许多人有充分的理由不使用它。有关详细信息,请参阅this discussion