我正在网站上工作。我希望网站从index.php重定向到index.php?lang = En。
这是因为该网站是多语言的,并且主页上需要将默认语言设置为英语。我使用header()方法来执行此操作,但这会导致重定向循环,因为站点会不断重新加载。
我如何克服这个障碍?
答案 0 :(得分:1)
在你的PHP中:
<?php
// Default to English if $_GET['lang'] isn't set
$lang = isset($_GET['lang']) ? $_GET['lang'] : 'En';
// If language not in array of available languages, reset to English
if (!in_array($lang, array('En', 'Es', 'Fr'))) {
$lang = 'En';
}
header('Location: index.php?lang=' . $lang);
?>
在您的HTML中:
<a href="index.php?lang=En">English</a>,
<a href="index.php?lang=Es">Español</a>,
<a href="index.php?lang=Fr">Français</a>
答案 1 :(得分:0)
我会这样做:
if(!isset($_GET['lang']) {
header('location: http://www.example.com/index.php?lang=En');
}
答案 2 :(得分:0)
检查网址中是否存在lang
参数,只有在不存在时才进行重定向:
if (!isset($_GET['lang']) {
header('Location: http://www.example.com/index.php?lang=En');
}