使用PHP将用户重定向到具有自定义HTTP头的其他网站

使用PHP将用户重定向到具有自定义HTTP头的其他网站,php,http,redirect,curl,header,Php,Http,Redirect,Curl,Header,我想知道这是否可行。 下面是不正确的PHP代码,但它说明了我想要实现的目标 redirect.php <?php set header ('Example-Header: someText') Redirect www.example.com ?> 例如,如果我有mysite.com/redirect.php?url=www.example.com,这将重定向到www.example.com,带有自定义标题example header:someText 我尝试了cURL和一

我想知道这是否可行。 下面是不正确的PHP代码,但它说明了我想要实现的目标

redirect.php

<?php

set header ('Example-Header: someText')
Redirect www.example.com

?>

例如,如果我有mysite.com/redirect.php?url=www.example.com,这将重定向到www.example.com,带有自定义标题example header:someText

我尝试了cURL和一些PHP代码,比如header(Location:url),但没有成功。我有一个CentOS Apache Web服务器


有人能给我指出正确的方向吗。

您可以通过使用
标题
功能设置
位置
标题来重定向浏览器

服务器无法告诉浏览器发送任何在发出后续HTTP请求时通常不会发送的HTTP头


最接近的方法是充当代理服务器(即,自己向第二个URL发出请求,例如使用cURL,然后将响应中继回浏览器而不是重定向)

当您重定向时,无法控制浏览器如何向目标站点执行
GET
请求


我能想到的唯一方法是让PHP代码使用
cURL
执行
GET
请求本身。然后,它可以发送它想要的任何头,并将响应返回给客户端。但这不太可能很好地工作,因为响应文档中的任何相对URL都是相对于目标URL的,但是客户端的浏览器将相对于脚本的URL来解释它们。您需要刮取文档并适当地更新任何嵌入的URL。

这是正确的,但问题不是删除默认标题,而是添加一个“自定义”标题,即使是在重定向的情况下-我想这应该没有问题?@dognose-我想您误解了我的答案。我没有提到删除默认标题。我说浏览器会发送默认的头,并且只发送默认的头。好吧,那就错了-你可以发送任何你喜欢的头,@dognose-否。服务器不能做出HTTP响应,指示浏览器在下一个响应中包含什么请求头。好吧,自定义头响应是ofc。可能-发送自定义头是ofc。不(如果这是个问题,我理解错了)设置响应标题。我很确定问题是关于在重定向之后设置请求头的。正确。我正在尝试修改HTTP GET请求。哦,在这种情况下,我很确定没有办法。你不可能总是得到你想要的。如果你限制你怎么做就不会了。你可以把一个人送上月球,但如果你把预算定在1000美元的话就不行了。