HTTP 狀態(Status) 301 和 302 的差異為何? PHP 於程式要回傳狀態要怎麼寫?
HTTP 狀態 301/302 說明
- 301: 要求的網頁已經永久改變網址。此狀態要求用戶端未來在連結此網址時應該導向至指定的 URI。
- 302: 物件已移動,並告知移動過去的網址。針對表單架構驗證,這通常表示為「物件已移動」。 要求的資源暫時存於不同的 URI 底下。由於重新導向可能偶而改變,用戶端應繼續使用要求 URI 來執行未來的要求。 除非以 Cache-Control 或 Expires 標頭欄位表示,此回應才能夠快取。
簡單說明
- 301: 永久轉移(Permanently Moved)
- 302: 暫時轉移(Temporarily Moved)
HTTP 301 範例(PHP)
<?php
header('HTTP/1.1 301 Moved Permanently');
header('Location: http://plog.longwin.com.tw/');
exit;
?>
HTTP 302 範例(PHP)
<?php
header("Location: http://plog.longwin.com.tw/");
exit;
?>
301的也可以这样:
header('Location: http://blog.huachen.me/', true, 301);
感恩~ 🙂