Laravel:如何在重定向到任何url时设置自定义标头


Laravel: How to set custom header while redirecting to any url

我正在使用Laravel 5.0,并试图重定向到具有自定义标头的url。但不知何故,我在重定向页面中没有得到标题值,或者我们可以说在重定向时没有发送标题值。

我使用的是这个代码:

return redirect('http://www.anydomain.com')
            ->header('customvalue1', $customvalue1)
            ->header('customvalue2', $customvalue2);

如果我做错了什么,请告诉我。

恐怕,另一个答案是完全错误和误导性的。

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

您可能认为此代码应该可以正常工作:

return redirect('http://www.anydomain.com')
     ->header('customvalue1', $customvalue1)
     ->header('customvalue2', $customvalue2);

但不会。您正在为响应设置自定义标头,该标头指示浏览器重定向,而不是重定向本身。

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

请注意,页面不能设置HTTP请求标头,除非它使用XMLHttpRequest进行异步请求。这意味着您不能在客户端上使用自定义标头进行此类重定向。

网络不是这样运作的。