首頁 > 後端開發 > PHP問題 > php中302是什麼錯誤

php中302是什麼錯誤

青灯夜游
發布: 2023-03-15 19:10:02
原創
5377 人瀏覽過

在php中,302不是錯誤,而是HTTP回應狀態碼,意思是“暫時重定向”,表示被存取頁面因為各種需要被暫時跳到其他頁面;可利用header()來實現302跳轉,語法「header('Location: 跳轉url',true,302)」。

php中302是什麼錯誤

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

302 代表暫時性轉移(Temporarily Moved ),是HTTP回應狀態碼並不是錯誤。

302是暫時重定向的意思,表示被存取頁面因為各種需要被暫時跳到其他頁面。

在php中,可以利用header()來實現302跳躍。

有兩種語法格式:

  • 語法格式1:

header('HTTP/1.1 302 Moved Permanently');
header('Location: https://www.php.cn');
登入後複製
  • #語法格式2:

header('Location: https://www.php.cn', true, 302);
登入後複製

額外再提一句,如果要自適應HTTPS/HTTP的話,這樣就可以了:

header('Location: //www.php.cn', true, 302);
登入後複製

#擴充知識:

HTTP--3xx(重定向)回應狀態碼

要完成請求,需要進一步操作。通常,這些狀態碼用來重定向。 Google 建議您在每次請求中使用重定向不要超過 5 次。您可以使用網站管理員工具查看 Googlebot 在抓取重新導向網頁時是否遇到問題。診斷下的網頁抓取頁列出了由於重定向錯誤導致 Googlebot 無法抓取的網址。

  •   300(多種選擇): 針對請求,伺服器可執行多種操作。伺服器可根據請求者 (user agent) 選擇一項操作,或提供操作清單供請求者選擇。

  •   301(永久移動): 請求的網頁已永久移至新位置。伺服器傳回此回應(對 GET 或 HEAD 請求的回應)時,會自動將請求者轉到新位置。您應該使用此程式碼告訴 Googlebot 某個網頁或網站已永久移動到新位置。

  •   302(暫時移動): 伺服器目前從不同位置的網頁回應請求,但請求者應繼續使用原有位置來回應以後的請求。此程式碼與回應get 和head 要求的301程式碼類似,會自動將請求者轉到不同的位置,但不應使用此程式碼來告訴googlebot某個網頁或網站已經移動,因為googlebot會繼續抓取原有位置並編制索引。

  •    303(查看其它位置): 請求者應對不同位置使用單獨的 get 請求來檢索回應時,伺服器傳回此程式碼。對於出head之外的所有請求,伺服器會自動轉到其它位置;

  •    304(未修改): 自從上次請求後,請求的網頁未修改過。伺服器傳回此回應時,不會返回網頁內容;如果網頁自請求者上次請求後再也沒有更改過,則應將伺服器設定為傳回此回應(稱為if-modified-Since HTTP標頭)。伺服器可以告訴 googlebot 自從上次抓取後網頁沒有變更,進而節省頻寬和開銷。

  •    305(使用代理): 請求者只能使用代理程式存取請求的網頁。如果伺服器傳回此回應,也表示請求者應使用代理程式。

  •    307(暫時重定向): 伺服器目前從不同位置的網頁回應請求,但請求者應該繼續使用原有位置來回應以後的請求,此程式碼與回應get 和head 要求的程式碼類似,會自動將請求者轉到不同的位置,但不應該告訴googlebot 某個頁面或網站已經移動,因為googlebot 會繼續抓取原有位置並編製索引。

PHP header 的7種用法

#1.  跳到頁面

header('Location:'.$url);  //Location和":"之间无空格。
登入後複製

2.  宣告content-type

header('content-type:text/html;charset=utf-8');
登入後複製

3.  返回response狀態碼

header('HTTP/1.1 404 Not Found');
登入後複製

4. 在某個時間後執行跳躍

header('Refresh: 10; url=http://www.php.cn/');  //10s后跳转。
登入後複製

5. 控制瀏覽器快取

header("Expires: Mon, 26 Jul 1997 05:00:00 GMT");
header("Last-Modified: " . gmdate("D, d M Y H:i:s") . "GMT");
header("Cache-Control: no-cache, must-revalidate");
header("Pragma: no-cache");
登入後複製

6. .執行 http驗證

header('HTTP/1.1 401 Unauthorized');
header('WWW-Authenticate: Basic realm="Top Secret"');
登入後複製

7.執行下載操作

header('Content-Type: application/octet-stream'); //设置内容类型
header('Content-Disposition: attachment; filename="example.zip"'); //设置MIME用户作为附件
header('Content-Transfer-Encoding: binary'); //设置传输方式
header('Content-Length: '.filesize('example.zip')); //设置内容长度
登入後複製

推薦學習:《PHP影片教學

以上是php中302是什麼錯誤的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
php
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板