302是臨時重定向的意思。表示被訪問頁面因為各種需要被臨時跳轉到其他頁面。
PHP裏的302重定向非常簡單,只要在返回的HTTP Response Header裏添加Location字段,PHP將自動返回302狀態碼。
例如:
<?php
header("Location: URL地址");
?>
這段代碼將自動重定向到URL地址
注意的是,跳轉不是在收到response header的時候馬上進行,也就是説頁面的剩餘內容會被下載來之後瀏覽器才會跳轉。新手常犯的一個錯誤是,在邏輯判斷時對符合條件的情況進行header跳轉之後,忘了在之後加上exit(),導致錯誤。例如,用user_login()判斷用户是否進行了登錄,如果未登錄則跳轉到登錄頁面。代碼如下:
<?php
if(!user_login()){
header("Location:login.php");
}
//display contents for login users.
?>
這裏,容易以為header之後這段代碼就結束了,沒有在header之後使用exit()。後面的代碼繼續被執行,導致未登錄用户看到了已登錄用户才能看到的內容。
2.怎樣得到302重定向地址如果不想直接跳轉到目標地址,想對中間的Location做些處理則可以通過HttpURLConnection實現。 // 必須設置false,否則會自動redirect到Location的地址 conn.(false);
[java] view plaincopyprint?
package com.zuidaima;
import java.net.HttpURLConnection;
import java.net.URL;
/**
* 如何通過HttpURLConnection得到/302.htm";
System.out.println("訪問地址:" + url);
URL serverUrl = new URL(url);
HttpURLConnection conn = (HttpURLConnection) serverUrl
.openConnection();
conn.setRequestMethod("GET");
// 必須設置false,否則會自動redirect到Location的地址
conn.(false);
conn.addRequestProperty("Accept-Charset", "UTF-8;");
conn.addRequestProperty("User-Agent",
"Mozilla/5.0 (Windows; U; Windows NT 5.1; zh-CN; rv:1.9.2.8) Firefox/3.6.8");
conn.addRequestProperty("Referer", "/");
conn.connect();
String location = conn.getHeaderField("Location");
serverUrl = new URL(location);
conn = (HttpURLConnection) serverUrl.openConnection();
conn.setRequestMethod("GET");
conn.addRequestProperty("Accept-Charset", "UTF-8;");
conn.addRequestProperty("User-Agent",
"Mozilla/5.0 (Windows; U; Windows NT 5.1; zh-CN; rv:1.9.2.8) Firefox/3.6.8");
conn.addRequestProperty("Referer", "/");
conn.connect();
System.out.println("跳轉地址:" + location);
} catch (Exception e) {
e.printStackTrace();
}
}
}
3.網站怎麼302重定向302重定向又稱之為302代表暫時性轉移(Temporarily Moved ),英文名稱:302 redirect。
也被認為是暫時重定向(temporary redirect),一條對網站瀏覽器的指令來顯示瀏覽器被要求顯示的不同的URL,當一個網頁經歷過短期的URL的變化時使用。一個暫時重定向是一種服務器端的重定向,能夠被搜索引擎蜘蛛正確地處理網站302重定向方法:1、首先確定你重定向的網站地址或網頁地址,2、打開服務器IIS,打開網站屬性,3、見下圖,可以直接定向。