HTTP 轉換網址 301、302 差異

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;
?>

相關網頁


關於 Tsung

對新奇的事物都很有興趣, 喜歡簡單的東西, 過簡單的生活.
本篇發表於 Programming。將永久鏈結加入書籤。

HTTP 轉換網址 301、302 差異 有 3 則回應

  1. 华晨 說道:

    301的也可以这样:
    header('Location: http://blog.huachen.me/', true, 301);

發表迴響

這個網站採用 Akismet 服務減少垃圾留言。進一步瞭解 Akismet 如何處理網站訪客的留言資料