我在localhost上做了一个网站。然后我将它上传到不同的服务器,没有问题。但是,这次我尝试将网络上传到另一台服务器,而在这个网站上,与其他网站上的代码完全相同的代码无法正常工作。我简化了这个错误,并且必须符合下列其中一条。上传我的网站时出现PHP问题?
如果我在我的网站上输入网址,我的代码必须自动将默认语言添加到URL(即es),如果尚未指定此语言。例如,如果我输入mydomain.com,则必须将其转换为mydomain.com/es。
这里的代码(注:郎咸平在htaccess的声明,并在URL推出的第一个参数的名称,在这种情况下,语言):
的index.php代码:
<?php
$idiomas = array("ES", "GL", "EN");
if (!(isset($_GET['lang']) && $_GET['lang'] == "admin")) {
require_once("pages/language.php");
}
?>
language.php CODE:
<?php
if (isset($_GET['lang']) && $_GET['lang'] != "") {
switch ($_GET['lang']) {
case strtolower($idiomas[0]):
case strtolower($idiomas[1]):
case strtolower($idiomas[2]):
case 'admin':
$_SESSION['lang'] = $_GET['lang'];
break;
default: {
header("Location: ".ROOT);
}
}
}
else {
if (!isset($_SESSION['lang']) || $_SESSION['lang'] == "") {
echo '<meta http-equiv="refresh" content="0; url='.strtolower($idiomas[0]).'">';
exit;
}
}
?>
现在,发生了什么事情是:你输入mydomain.com和这一个是转换为mydomain.com/es上的URL,但它开始做到这一点每毫秒,永久重新加载和重新加载页面。我意识到当mydomain.com/es已经在URL中时,language.php的第一个条件如果没有保留,那就应该保留。
我不知道为什么这个代码总是在不同的服务器上工作,而不是在这个服务器上。有什么想法吗?先谢谢你。
是否启用国防部重写包括在Apache? – 2014-09-24 09:44:00
@ThomasHambach你是对的!该服务器没有启用mod_rewrite。 – forvas 2014-09-24 10:55:09