2016-02-21 11 views
6

このフォーラムでは12種類のソリューションを試しましたが、それ以外は動作しません。 すべてのドメインにhttps://wwwが必要です。すべてのドメインを強制的にhttpsでwww

RewriteEngine on 
RewriteCond %{HTTPS} off 
RewriteRule (.*) https://www.%{HTTP_HOST}%{REQUEST_URI} 

しかし、今、私はそれがhttps://www.www.example.com にリダイレクトwww.example.comに行くとき

http://example.com作品完璧な、それはhttps://www.example.com

にリダイレクトする(2回WWW。):私はこれを使用しています今

答えて

7

これは正常な動作です。
実際には、リダイレクトを行う前に、ホストにwwwがあるかどうかを確認する必要があります。

簡単な方法は、二つの条件

RewriteEngine on 

# redirect http://www.example.com to https://www.example.com 
RewriteCond %{HTTPS} off 
RewriteCond %{HTTP_HOST} ^www\. [NC] 
RewriteRule^https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L] 

# redirect http(s)://example.com to https://www.example.com 
RewriteCond %{HTTP_HOST} !^www\. [NC] 
RewriteRule^https://www.%{HTTP_HOST}%{REQUEST_URI} [R=301,L] 
+1

これは完璧なおかげで動作します – Vazzilly

+0

ようこそ! –

+0

@JustinIurman HTTPS example.comからHTTPS www.example.comへのリダイレクトはありません。 – Tom

0

https://www

RewriteEngine on 
RewriteCond %{HTTP_HOST} ^(?:www\.)?(.+)$ 
RewriteCond %{HTTPS} off 
RewriteRule (.*) https://www.%1%{REQUEST_URI} [L,R] 
にリダイレクトする次のルールを使用できます
+0

HTTPSに問題を分割することであろう://www.%7Brequest_uri%7D/結果 – Vazzilly

+0

ある@vazzilly {前にわずかなミス、(欠落%でしたREQUEST_URI})私はそれを修正しました。 – starkeen

関連する問題