I am using Laravel 5.0 and trying to redirect to a url with custom headers. But somehow I am not getting the header value in redirected page or we can say header value is not getting sent while redirecting.
I am using this code:
return redirect('http://www.anydomain.com')
->header('customvalue1', $customvalue1)
->header('customvalue2', $customvalue2);
Please let me know if I'm doing something wrong.
I'm afraid, the other answer is completely wrong and misleading.
It's impossible to redirect to a page with custom headers set, no matter what language or framework you use. In other words, there's no way to trigger an HTTP redirect and cause the client (browser) to add a custom header.
You might be thinking that this code should work just fine:
return redirect('http://www.anydomain.com')
->header('customvalue1', $customvalue1)
->header('customvalue2', $customvalue2);
But it won't. You're setting the custom headers for the response which is instructing the browser to redirect, not for the redirect itself.
The only way for a site to instruct a browser to issue an HTTP request with a custom header is to use Javascript and the XMLHttpRequest
object. And it needs CORS implemented on the target server to allow such ajax requests.
Please note that a page can not set HTTP request headers unless it's making an async request using XMLHttpRequest
. Meaning that you can't do such redirection with the custom header on the client-side as well.
That's not how the web works.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With