2017-10-18 9 views
0

私は、多くのように、現在、httpsに、ポート80からのすべてのトラフィックをリダイレクトするこの方法を使用しています:.htaccessを使用してHTTPSリダイレクトのどの方法が最適ですか?

RewriteEngine On 
RewriteCond %{SERVER_PORT} 80 
RewriteRule ^(.*)$ https://example.com/$1 [R,L] 

私は成功を収めて、以下の方法をも使用しているものの:

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

と見てきましたこの方法の仕事、どこでも、現在それを使用していないにもかかわらず:3つの良いオプション(および潜在的にいくつかのより多くの)で

RewriteEngine On 
RewriteCond %{HTTPS} !=on 
RewriteRule ^.*$ https://%{SERVER_NAME}%{REQUEST_URI} [R,L] 

を、CHROと一緒に私と他の人は今showing security warningsの非httpsバージョンのために、私はどのような最善の方法があるべきかと思っています。これらの方法の1つは他の方法より明白に優れていますか、それとも非常に特殊なものになるのでしょうか? 「ベストプラクティス」が出現するだろうか?新しい標準としてhttpsを使用した場合、の代わりにR=301を使用する理由はありますか?httpsリダイレクトはほとんど常に固定でなければなりません。

多くのフリーランサーのように、私はサーバー構成の熟練者ではありませんが、今でも最も小さなウェブサイトであってもまだ成功を収めています。

答えて

1

あなたがドメイン名を指定することができた場合は、最善の解決策がhttpsとWWWの両方を組み合わせることである。

RewriteEngine On 
RewriteCond %{HTTP_HOST} !^www\. [OR,NC] 
RewriteCond %{HTTPS} off 
RewriteRule^https://www.exemple.com%{REQUEST_URI} [NE,R=301,L] 

しかし、いかなる場合にも、あなたは最初のWWWなし、またはhttp持つまたはWWWなしにhttpsにリダイレクトする必要があります。

301([R = 301])ではな​​く、302(デフォルトで[R]で)をリダイレクトする必要があります。

関連する問題