重定向到页面并发送自定义 HTTP 标头

2022-08-30 15:26:15

我使用以下代码重定向到PHP中的页面。我需要设置一个自定义HTTP标头以与重定向一起传递。

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

如何存档?


答案 1

恐怕所有的答案都是错误的和误导性的!

无论您使用哪种语言或框架,都不可能重定向到设置了自定义标头的页面。换句话说,没有办法触发HTTP重定向并导致客户端(浏览器)添加自定义标头。

您可能认为使用多个调用应该可以正常工作。但事实并非如此。您正在为指示浏览器重定向的响应设置自定义标头,而不是为重定向本身设置自定义标头。header()

站点指示浏览器发出带有自定义标头的 HTTP 请求的唯一方法是使用 Javascript 和对象。它需要在目标服务器上实现 CORS 才能允许这样的 ajax 请求。XMLHttpRequest

请注意,页面无法设置 HTTP 请求标头,除非它使用 发出异步请求。这意味着您也无法在客户端使用自定义标头执行此类重定向。XMLHttpRequest


答案 2

只需在此调用之后或之前添加其他调用即可。header()

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

推荐