重定向到PHP中的url位置,并传递头参数


redirect to an url location in php with headers parameters to pass

我试图翻译php中的url。我的url是这样的:

Source : http://www.someserver.com/image.png

我想把它重定向到一个服务器,但是有一个特定的头:

Destination : http://www.someotherserver.com/image.png
Destination header : X-Auth-Token : somethingsomething

主要问题是不下载文件,只是添加头参数(一个认证令牌)和重新定位。所以我尝试用头php命令重定向:

header("Content-Type: image/png");
header("Location: http://www.someotherserver.com/image.png");

我试图添加标题,但给标题命令的参数没有复制到位置命令。如何将header令牌传递给header命令?

我想把它重定向到一个服务器但是要有一个特定的头

首先,你应该意识到HTTP Response Headers和HTTP Request Headers的区别。
header("Content-Type: image/png");
header("Location: http://www.someotherserver.com/image.png");

这些都是服务器发送给客户端响应头。

由于您正在指示客户端使用位置标头请求新资源,因此content - type标头将被客户端丢弃-在重定向之前没有显示任何内容以响应该请求,因此内容类型不感兴趣。

客户端在位置报头中向(其他)服务器发出新请求-因此该请求的任何附加请求报头必须来自客户端。您的服务器无法影响客户端可能随该请求发送的附加标头。(除非您编写自己的客户端,否则它会将收到的响应头与下一个请求一起传递。)