web-dev-qa-db-ja.com

Apacheはhttpをhttpsに、wwwを非wwwにリダイレクトします

基本的に私が欲しいのはhttpの代わりにHTTPSを使用するためにリダイレクトリクエストです

これまでのところhtaccessにあり、うまく機能しました:コード:

<IfModule mod_rewrite.c> 
RewriteEngine On 
RewriteCond %{HTTPS} off 
RewriteRule (.*) https://%{HTTP_Host}%{REQUEST_URI} 
</ifModule> 

今日、誰かが次の場所に移動したときに気づきました: http://www.example.com リダイレクトされ、安全でない接続が表示されます。

私のsslはwww以外のドメイン用にセットアップされています:mydomain.com

だから私はすべてのサイトリクエストがwwwとhttps以外に送信されることを確認する必要があります:example.comを置くとそれはうまくいきます https://example.com にリダイレクトします

しかし、www.example.comを使用すると、htts://www.example.comに移動してエラーが表示されます

wwwを非wwwにリダイレクトしてからsslにリダイレクトするには、コードに何を追加する必要がありますか?

21
misulicus

HTTP_Hostから必要なものを取得できます

RewriteEngine On 
RewriteCond %{HTTPS} off 
RewriteCond %{HTTP_Host} ^(?:www\.)?(.*)$ [NC]
RewriteRule (.*) https://%1%{REQUEST_URI} [L,R=301]

このようにして、サブドメインなしで常にホストを取得します。

17
baynezy

Wwwとwwwなしの両方で証明書を再発行する必要があります。

誰かがあなたの共通名に含まれていないドメイン名を介してあなたのサイトに接続すると、彼らは警告を受け取ります。

Sslネゴシエーションプロセスはbeforeサーバーからのすべての応答(あなたの場合、リダイレクト)が発生するため、すべての場合において、共通名にないドメインを使用すると、訪問者は警告を受け取ります。

24
Pierre-Olivier
RewriteEngine On 
RewriteCond %{HTTPS} off
RewriteRule (.*) https://domain.com%{REQUEST_URI} [L,R=301,NC]
RewriteCond %{HTTP_Host} ^www.domain.com [NC]
RewriteRule (.*) https://domain.com%{REQUEST_URI} [L,R=301,NC]
2
Amir Akef

CloudFlareの無料アカウントを使用している場合は、それが問題です。 CloudFlareの無料アカウントはSSL証明書をサポートしていません。 SSL証明書でCloudFlareの無料アカウントを引き続き使用するには、CloudFlareのDNS設定に移動し、オレンジ色のクラウドをドメインとcname WWWから削除します。これで問題が解決し、wwwと非wwwの両方がhttpsにリダイレクトされます。

また、このコードを.htaccessファイルに必ず追加してください。

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

その後、すべてが機能するはずです!

2
Guest
RewriteEngine On 
RewriteCond %{HTTPS} off 
RewriteCond %{HTTP_Host} ^(?:www\.)?(.*)$ [NC]
RewriteRule (.*) https://www.%1%{REQUEST_URI} [L,R=301]
0
guest

これをチェックしてください:

RewriteEngine On
RewriteCond %{HTTP_Host}#%{HTTPS}s ^www\.([^#]+)#(?:off|on(s)) [NC]
RewriteRule ^ http%2://%1%{REQUEST_URI} [R=301,L]
RewriteCond %{HTTPS} !=on
RewriteRule ^.*$ https://%{SERVER_NAME}%{REQUEST_URI} [R,L]
0
Niby