2015-12-09 92 views
1

我知道這個問題已經問過很多次了,但是我嘗試了所有的解決方案,沒有一個不適合我。將所有請求重定向到https:// www symfony2 google HTTP負載平衡器

我正在使用symfony2與谷歌雲託管和使用他們的HTTP負載平衡器。我.htaccess有以下代碼

RewriteEngine On 
RewriteCond %{HTTP_HOST} ^example.com [nocase] 
RewriteRule ^(.*) https://www.example.com/$1 [last,redirect=301] 

我的負載均衡器有2個轉發規則,一個用於HTTP,另一個用於HTTPS。

現在,我可以將所有請求重定向到https://www.example.com,但我仍然無法將http://www.example.com重定向到HTTPS網址。

請讓我知道我錯在哪裏,我早些時候使用AWS和rackspace,並且從未面臨同樣的問題。

回答

1

嘗試:

RewriteEngine On 

#redirect http to https 
RewriteCond %{HTTPS} ^off$ 
RewriteRule ^(.*) https://www.example.com/$1 [last,redirect=301] 
#add www 
RewriteCond %{HTTP_HOST} ^example.com$ [nocase] 
RewriteRule ^(.*) https://www.example.com/$1 [last,redirect=301] 

條件以上

RewriteCond %{HTTPS} ^off$ 

檢查是否一部開拓創新方案是HTTP,其重定向到https。

+0

對不起隊友加入以下代碼,還是一樣 –

+1

301永久重定向,瀏覽器永遠把它記住,所以你需要清除瀏覽器緩存。 – starkeen

+0

我做到了,仍然一樣:( –

1

能夠通過以下方法解決它,我知道它不是最好的,所以建議仍然被邀請。

我app.php

if($_SERVER['HTTP_X_FORWARDED_PROTO'] == 'http' && $_SERVER['HTTP_HOST'] == 'www.example.com') { 
header("Location: https://www.example.com".$_SERVER['REQUEST_URI']);exit; 
} 
相關問題