在控制器中将HTTPS重定向到HTTP

时间:2016-07-13 22:31:55

标签: php http redirect zend-framework https

目前重定向代码重定向HTTPS→HTTPS。我尝试使用die($url)停止页面以查看PROTOCOL是否为HTTP并且它是否正确。但出于某种原因,当我尝试PHP标头位置时,它会重定向回HTTPS协议而不是HTTP

所以我在Zend predispatch方法中使用以下代码

header('Location: http://www.example.com/blogs/');

重定向到https://www.example.com/blogs/(HTTPS协议)

而当我尝试

header("Refresh:0; url=http://www.example.com/blogs/");

它工作正常。这意味着它重定向到HTTP协议。

注意:我需要在控制器内执行此操作的原因是重定向取决于特殊的旗杆。我不能用Apache配置来做。

1 个答案:

答案 0 :(得分:0)

我终于解决了这个问题。

问题是重定向标头被loadbalancer覆盖了。所以有一些策略设置,如果有人试图将URL从一个协议重定向到另一个协议,它将不允许导致我遇到的重定向循环。

在我的特定情况下,解决方案是需要发送的另一个自定义标头,它允许在负载均衡器中覆盖方案。