2017-04-19 91 views
0

我想用戶重定向到HTTPS(https://www.example.com) 如果他們與 - example.com - www.example.com - http://example.com - http://www.example.com如果不是HTTPS重定向到HTTPS通過.htaccess進行

我已經在.htaccess上使用過這段代碼。但它不工作了,www.example.com,http://www.example.com

# BEGIN SSL Redirect 
RewriteEngine on 
# force ssl 
RewriteCond  %{SERVER_PORT} ^80$ 
RewriteRule  https://www.%{SERVER_NAME}%{REQUEST_URI} [L,R] 

RewriteCond %{HTTP_HOST} ^calbel\.com 
RewriteRule .* https://www.%{SERVER_NAME}%{REQUEST_URI} [R,L] 
# END SSL Redirect 

回答

0

有幾十種,試試這個:

RewriteEngine On 
RewriteCond %{HTTPS} !=on 
RewriteRule^https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301] 
+0

本頁面無法正常工作 www.example.com重定向你太多次。 –

+0

那麼你有其他的規則 – nogad

0

,如果它不是強制使用的.htaccess爲什麼不使用:

header('Location: '.$newURL); 
+0

,因爲它在Web服務器級別做這件事更有意義。 – nogad

+0

謝謝,它取決於網站的流量。 – AliS

+1

什麼「取決於網站的流量」?以及如何通過這種方式不會被服務的所有非PHP資源? – nogad

0

最近,我遇到下面的代碼相同的問題使用了武力重定向到HTTPS

RewriteRule ^(.*)$ https://www.example.com/$1 [R,L] 

如果不是

RewriteCond %{HTTPS} off 
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301] 
+0

此頁不起作用 example.com重定向您太​​多次了。 –

+0

將「www.example.com」更改爲您的域名 –

+0

是的,我已經做到了。 –

0

像下面試試吧,

RewriteEngine on 
RewriteCond %{HTTP_HOST} ^www [OR] 
RewriteCond %{HTTP_HOST} ^example.com 
RewriteRule^https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]