2016-07-06 13 views
1

私のドメインの1つに似た問題があります。私はSSL証明書をnakedとwww-domainの両方にインストールしています。.htaccessは、裸のhttpとhttpsの両方をwwwにリダイレクトします。https

ここで、裸のhttp://domain.comhttps://domain.comの両方をhttps://www.domain.comにリダイレクトします。

http://domain.comを訪問するとき、それは代わりにhttp://www.domain.comhttps://www.domain.comにリダイレクトし、私は私の.htaccessにこのルールを持っているが、それはあなたがhttps://domain.comで明示的にサイトを訪問したときにリダイレクトカバーしていますが、。

RewriteCond %{HTTP_HOST} ^[^.]+\.[^.]+$ 
RewriteCond %{HTTPS}s ^on(s)| 
RewriteRule^http%1://www.%{HTTP_HOST}%{REQUEST_URI} [L,R=301] 

答えて

0

あなたはこのルールを使用して既存のルールを置き換える必要があります。

RewriteEngine On 

# add www and convert http to https 
RewriteCond %{HTTP_HOST} !^www\. [NC,OR] 
RewriteCond %{HTTPS} off 
RewriteCond %{HTTP_HOST} ^(?:www\.)?(.+)$ [NC] 
RewriteRule^https://www.%1%{REQUEST_URI} [R=301,L,NE] 

が右 RewriteEngine On線の下にこのルールを維持し、試験前にブラウザのキャッシュをクリアします。

0

私は個人的にはこのようにレイアウトしています。これはWWWとHTTPsをすべて強制します。

RewriteEngine On 

#Force WWW on everything 
RewriteCond %{HTTP_HOST} !^www\. 
RewriteRule ^(.*)$ http://www.%{HTTP_HOST}/$1 [R=301,L] 

#Force HTTPS on everything 
RewriteCond %{HTTPS} !=on 
RewriteRule ^.*$ https://%{SERVER_NAME}%{REQUEST_URI} [R,L] 
+0

URLは 'HTTPの場合:// example.com'その後、このスニペットは、二つのリダイレクトを行いますと、それは常に、あなたの入力@anubhavaに感謝を学んパフォーマンスやSEO – anubhava

+0

両方のために良いではありません。私の方法を前進させる必要があります:P – Lag

+0

最初のルールでhttpsを使用し、ダブルリダイレクトを避けます。 ['R = 301']でテストしないでください(http://stackoverflow.com/a/9204355/1741542)。 –

関連する問題