頁面重定向,即頁面從當前請求的頁面,有條件或者定時跳轉到其他頁面。
總結下有一下幾種方法:
響應報文頭
301 -- moved permanently (如果同一個網頁有多個域名,從附域名跳轉到主域名,需要使用此狀態程式碼。)
302 -- moved temporarily (請求的資源被臨時替換為另外一個URL)
在瀏覽器解析報文頭的過程中,就會產生跳轉頁面動作, 效率最高。
例如PHP指令碼
301 moved permanently (redirect):
<?php
header('HTTP/1.1 301 Moved Permanently');
header('Location: http://www.example.com');
die();
?>
302 moved temporarily(redirect):
<?php
header('Location: http://www.example.com');
die();
?>
HTML META HEAD
藉助HTML meta 的refresh http-equiv 來實現頁面跳轉。
一般使用為在顯示此頁面後,幾秒後跳轉到其他URL,藉此時間給使用者展示一些通知,
例如 使用者訪問URL, 運營商 先給 使用者推廣告 或者 告知使用者網路使用情況, 幾秒會在跳轉到使用者訪問URL。
<meta http-equiv="refresh" content="5; url=http://www.dreamdu.com/" />
JavaScript location.href
在頁面載入後, 使用js指令碼, 定時 或者 根據使用者輸入情況, 跳轉到其它的頁面。
如果使用這種方法在頁面載入後立刻跳轉, 則相比上面兩個效率最低。
但是跳轉過程可以給用於展示等待提示。
location.href = "www.jd.com"
server cgi include
前面都是針對當前頁面,和 其他頁面檔案 獨立的情況下, 可以使用的方法。
有時候, URL不變, 但是現實內容要求能夠“跳轉”到其他頁面, 則使用伺服器端的 指令碼提供的 include方法;
在請求頁面的指令碼檔案中, 執行 include 目標檔案, 後直接return。
<?php include 'GO2PAGE.php'; ?>