2011-09-28 248 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请求头。这意味着您无法在客户端使用自定义标题进行重定向。

这就是网络不是如何工作的。

相关问题