我正在做一个网站。我希望网站从index.php重定向到index.php?lang=En.
这是因为该站点是多语言的,并且需要在主页上将默认语言设置为英语。我使用header()方法来做到这一点,但这会导致重定向循环,因为网站会永远重新加载。
我怎样才能克服这个障碍?
在你的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>
我想这样做:
if(!isset($_GET['lang']) {
header('location: http://www.example.com/index.php?lang=En');
}
检查URL中是否存在lang
参数,如果不存在则进行重定向:
if (!isset($_GET['lang']) {
header('Location: http://www.example.com/index.php?lang=En');
}