沒有頭文件已經發送,這是頁面上訪問的第一段代碼。在php中使用'header'加載時重定向的問題
我想提出一個多語種的網站和它具有非常小的文本正在嘗試將用戶重定向到基於他們的語言不同的目錄。我在php
中寫過這樣的內容,每次我評估該網站時,我都會收到一個錯誤,並且不會加載。
$lang=$_SERVER['HTTP_ACCEPT_LANGUAGE'];
$es=array("es", "es-es", "es-us", "es-mx");
if(array_key_exists($es, $lang)){
header('Location: http://www.site.com/es');
exit;
}else{
header('Location: http://www.site.com');
exit;
}
在Firefox我收到錯誤「的Firefox已經檢測到服務器重定向此地址的請求的方式,將永遠不會完成。」
而且在Safari 「重定向過多發生試圖打開 「websitename」。當打開一個頁面將其重定向到另一個頁面時,會發生這種情況,打開頁面後,您將被重定向到另一頁面。
但我沒有在子文件夾中的語言檢查腳本的副本。當我使if語句非常簡單時if($lang =='es-es')
它完美地工作。我的語法一定有問題,但我看不到它是什麼。
這通常是當你重定向到一個頁面,該頁面已被重定向到其他地方發生,這推移和..可能是你把頁面上的這個條件檢查和重定向到頁面本身。這可能會導致每次執行腳本,它有點設置和無限循環的重定向... –