我的网站上运行了三种语言,并且希望在页面底部使用工作按钮切换语言。问题是,主页(index.php)需要后缀SendKeys "{ESC}"
而其他页面(index.php?contact,index.php?about etc)需要URL中的?lang=X
。 / p>
我已经设置了这样一个href:
&lang=X
它修复了'?'或者'&',但每当我点击主页以外的页面上的语言更改按钮时,它会将我带到主页而不是停留在当前页面上,尽管语言切换确实有效。我想这是由我的.htaccess文件引起的,该文件将主页重写为无效,联系人以及关于' / contact'和' / about'。
有关如何解决此问题的任何建议?或者关于如何更容易地完成这种语言转换?
答案 0 :(得分:1)
您可以阅读当前网址中的参数并将新的参数添加到其中,如下所示:
$params = array_merge($_GET, array("lang" => "X"));
$new_query_string = http_build_query($params);
但是使用cookie有助于避免松散"从一个页面移动到另一个页面时的语言参数。并留下更清晰的网址
使用Cookie:
位于您网站的顶部
if ($_GET['lang'])
{
setcookie("lang", $_GET['lang'], time() + 3600);
}
并在您的语言面板集中:
<a href="?lang=X" title="X language">X</a>
<a href="?lang=Y" title="Y language">Y</a>
<a href="?lang=Z" title="Z language">Z</a>
答案 1 :(得分:1)
由于OP只需修复导航问题。这就是我要做的事。
我只需按当前页面网址
$Url = $_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI'];
然后连接导航
<a href="<?php echo $Url ?>?lang=en">Home</a>
所以,守则将
<?php
$Url = $_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI'];
?>
<a href="<?php echo $Url ?>?lang=en">Home</a>
注意:
我使用en
作为静态,您可以根据需要动态更改它。