2011-09-28 249 views
0

我使用以下代碼重定向到PHP中的頁面。我需要設置一個自定義的HTTP頭文件與重定向一起傳遞。重定向到頁面併發送自定義HTTP標頭

header("Location: http://..."); 

我該如何歸檔?

+1

多個'header'調用。 – hakre

+0

我試着在重定向之前和之後添加它,然後我在Firefox上使用HttpFox,但看到HTTP頭沒有被髮送。 – Lennie

+0

您是否試圖使用重定向功能發送數據?你爲什麼不使用PHP會話? – T9b

回答

3

headerDocs電話:

header("Location: ...."); 
header("Header2: ...."); 
header("Header3: ...."); 
... 
+0

對我不起作用 – Lennie

+1

什麼不適合你?請發佈您的代碼。我無法猜出你做錯了什麼。 – hakre

+0

header(「VIA:maga」); header(「X_MSISDN:+27000000000」); header(「X_UP_CALLING_LINE_ID:+27000000000」); header(「Location:url」); – Lennie

1

header()來電之後或此人之前只需添加額外的。

header("Location: http://..."); 
header("Content-Type: text/plain"); 
+0

對我不起作用 – Lennie

+0

'header(「Location:http:// ...」);'將在第二行運行前重定向。 – wpcoder

5

我很害怕,所有的答案都是錯誤的和誤導!

這是不可能的重定向設置,不管你用什麼語言或框架定製標題的頁面。換句話說,無法觸發HTTP重定向並導致客戶端(瀏覽器)添加自定義標頭。

你可能會想,使用多個header()調用應該只是罰款。但它不會。您正在爲響應指定瀏覽器重定向的自定義標題,而不是重定向本身。

一個站點指示瀏覽器發出一個自定義頭的HTTP請求,唯一的辦法是使用JavaScript和XMLHttpRequest對象。它需要在目標服務器上實現CORS來允許這樣的Ajax請求。

請注意,除非它使使用XMLHttpRequest一個異步請求的頁面不能設置HTTP請求頭。這意味着您無法在客戶端使用自定義標題進行重定向。

這就是網絡不是如何工作的。

相關問題