2
我寫了這個代碼,訪問者重定向到我的筆記本電腦(動態IP)託管服務器第二個重定向如果第一個重定向失敗
我使用第二個PHP腳本在數據庫中更新IP
<?php
//redirect.php
$con = mysql_connect($db_hostname,$db_admin,$db_password);
if (!$con){
echo "Couldn connect to server !!";
}
$sql ="select ip from $db_name.redirect WHERE id=0";
$result = mysql_query($sql,$con);
$ip = "error.php";
while($row = mysql_fetch_array($result)){
$ip=$row[0];
}
//Header("HTTP/1.1 301 Moved Permanently");
$forward = "Location: http://$ip";
header($forward) ;
//Header( "Location: errorMsg.php");
?>
但我的筆記本電腦服務器只有很少, 我想知道是否有可能重定向到errorMsg.php如果第一次重定向失敗?
也是用jsp可以實現的嗎?
總之,沒有。一旦你發送了重定向,你的客戶端連接(可能)就會被放棄,你當然無法控制它的未來行爲。這是HTTP協議本身的限制,與服務器端語言無關。你需要一個反向代理來做這樣的事情。或者,我想,可以通過提供一個帶有一點Javascript的HTML文檔,並立即重定向到URL 1和一個定時器重定向到URL 2來完成,如果頁面在n秒後仍然在瀏覽器中加載 - 但是那樣會不會有任何可靠的。 – DaveRandom 2012-08-03 13:49:52