我在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