簡體   English   中英

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

[英]Redirect HTTPS to HTTP in Controller

目前,重定向代碼重定向HTTPS→HTTPS。 我嘗試用die($url)停止頁面以查看PROTOCOL是否是HTTP並且它是正確的。 但出於某種原因,當我嘗試PHP標頭位置時,它會重定向回HTTPS協議而不是HTTP

所以當我在Zend predispatch方法中使用以下代碼時

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

它重定向到https://www.example.com/blogs/ PROTOCOL)

而當我嘗試

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

它工作正常。 這意味着它重定向到HTTP協議。

注意:我需要在控制器內執行此操作的原因是重定向取決於特殊的旗桿。 我不能用Apache配置來做。

我終於解決了這個問題。

問題是重定向頭被loadbalancer覆蓋了。 所以有某種策略設置,如果有人試圖將URL從一個協議重定向到另一個協議,它將不允許導致我遇到的重定向循環。

在我的特定情況下,解決方案是另一個需要發送的自定義標頭,它允許在負載均衡器中進行方案覆蓋。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM