首頁  >  文章  >  後端開發  >  PHP中跳轉與重定向的差別是什麼

PHP中跳轉與重定向的差別是什麼

青灯夜游
青灯夜游原創
2021-11-04 13:54:064746瀏覽

區別:1、跳轉是目前URL請求成功,重新請求新的URL;而重定向是目前的URL無效,被重新定位到新的URL上。 2.在跳轉中,瀏覽器會記錄目前URL和新URL到歷史記錄中;而重定向不會。 3.重定向是不能回退到目前URL的;而跳轉可以。

PHP中跳轉與重定向的差別是什麼

本教學操作環境:windows7系統、PHP7.1版、DELL G3電腦

PHP中跳轉與重定向的差異

跳轉:

瀏覽器認為: 目前URL請求成功, 重新請求新的URL.

#瀏覽器會 記錄目前的URL 和 新的URL 在請求歷史記錄中.

回退, 是可以回退到, 當前的URL上的. (無論 success, 和 error 都是一樣)

語法實作:  在瀏覽器層面, 修改瀏覽器的location.href來實現的:location.href=href;

重定向:

瀏覽器認為, 目前的URL無效, 被重新定位到新的URL上.

瀏覽器不會記錄目前的URL到歷史記錄中,

不能回退到目前的URL中.

語法實作, 都是伺服器向瀏覽器發出重定向回應指令,

透過回應頭:

header('Location:'. URL), 立即重定向到某个URL
header('Refresh: ')

頁面重定向一定會有頁面跳轉,頁面跳躍不一定會有頁面重定向,也就是說頁面重定向真包含於頁面跳轉,頁面重定向是頁面跳轉的充分不必要條件。

重定向使用實例

重定向(Redirect)就是透過各種方法將各種網路請求重新定個方向轉到其它位置(如:網頁重定向、網域的重定向、路由選擇的變化也是對資料封包經由路徑的一種重定向)。

我們在網站建置中,時常會遇到需要網頁重新導向的情況:

1.網站調整(如改變網頁  目錄結構);

2.網頁移到一個新位址;

3.網頁副檔名改變(如應用程式需要把.php改成.Html或.shtml)。

這種情況下,如果不做重定向,則使用者收藏夾或搜尋引擎資料庫中舊地址只能讓訪問客戶得到一個404  頁面錯誤訊息,存取流量白白喪失;再者某些註冊了多個網域的網站,也需要透過重新導向讓造訪這些網域的使用者自動跳到主  站點等。

總結下PHP下的幾種頁面跳轉的方法

#1、meta標籤實作 

只需在head裡加上下面這句話就行了,在目前頁面停留0秒後跳到目標頁面

echo &#39;<meta http-equiv="refresh" content="0;url=https://www.baidu.com">&#39;;

2、JavaScript實作

echo &#39;<script>window.location.href = &#39;https://www.baidu.com&#39;;</script>&#39;;

3、PHP頁面重定向實作

header(&#39;Location: https://www.baidu.com&#39;);

使用PHP頁面重定向跳轉與上面兩種方法有點不同的是,它的http應答狀態碼是指定為3xx。具體差異涉及HTTP的請求過程,這裡就不細說了。

推薦學習:《PHP影片教學

以上是PHP中跳轉與重定向的差別是什麼的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn