2017-02-01 29 views
0

ドメインhttpからhttpsにリダイレクトする必要があります。私のhtaccessでは私はすでに持っています。301 httpをhttpでhttpsにリダイレクトする

RewriteEngine On 
RewriteBase/
RewriteCond %{HTTP_HOST} !^www\.example\.com$ [NC] 
RewriteRule ^(.*)$ http://www.example.com/$1 [R=301,L] 

このスニペットは、「www」を含まないすべてを「www」にリダイレクトします。

私は

RewriteEngine On 
RewriteBase/
RewriteCond %{HTTP_HOST} !^www\.example\.com$ [NC] 
RewriteRule ^(.*)$ https://www.example.com/$1 [R=301,L] 

にこれを変更すると結果は次のとおりです。

http://www.example.com/folder/page.php 

becomes 

Location => https://www.example.com/folder/page.php 

ファイン!

https://example.com/folder/page.php 

becomes 

https://www.example.com/folder/page.php 

ファイン!

しかし:

http://example.com/folder/page.php 

becomes 

Location => https://example.com/folder/page.php 

が、それはそれは、この問題を解決することが可能である方法

Location => https://www.example.com/folder/page.php 

なければなりませんか?

私はこのすべてがリダイレクト知っている:あなたは、次のルールを使用することができます

RewriteCond %{SERVER_PORT} !^443$ 
RewriteRule (.*) https://%{HTTP_HOST}/$1 [R=301,L] 

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

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

が、私が代わりに2 301

答えて

0

の唯一のリダイレクトを必要とする

RewriteEngine on 
RewriteCond %{HTTP_HOST} !^www [OR] 
RewriteCond %{HTTPS} off 
RewriteCond %{HTTP_HOST} ^(?:www\.)?(.+)$ 
RewriteRule^https://www.%1%{RERUEST_URI} [NE,L,R=301] 

クリアブラウザのキャッシュこれをテストする前に

+0

ご協力いただきありがとうございます。これは500サーバーエラー、これを修正していただきありがとうございます。 – labu77

+0

[OK]をクリックすると500サーバエラーになりましたが、今度はhttps://example.com/folder/page.phpがhttps://example.comになります – labu77

+0

@ Labu77他のリダイレクトルールがないことを確認してください。 – starkeen

0

私はここで解決策を見つけた:

https://webmasters.stackexchange.com/questions/84757/htaccess-redirect-non-www-to-www-with-ssl-https

@のw3dkにより第2の答えが働いています。

RewriteEngine On 
RewriteCond %{SERVER_PORT} !=443 [OR] 
RewriteCond %{HTTP_HOST} !^www\. 
RewriteRule ^(.*)$ https://www.example.com/$1 [R=301,L] 

あなたのサイトには、トリガする.htaccessのリダイレクトのためにSSL上のWWWと非WWWの両方でアクセスできるようにする必要があります。

これで2つの証明書を持つことはできません。

+0

私の回答とあなたが提供した回答との間に相違はありません。私のコードが失敗したことは確かですか? – starkeen

+0

はい、私はそれを2回確認しました。あなたのコードはスタートページにリダイレクトされました。ありがとうございました。 – labu77

+0

本当に配線済みです。 – starkeen

関連する問題