web-dev-qa-db-ja.com

サイト全体をHTTPSにリダイレクトする

この質問への回答で見つかったスニペットを含めると サイト全体をHTTPSにするにはどうすればよいですか? htaccess.phpファイルでhttpsにリダイレクトすると、すべてのURLがページに移動する代わりに/ indexに移動します最初にリクエストされたもの(例:ユーザーがexample.com/aboutにアクセスしようとすると、 https://example.com にリダイレクトされます)。

これが私が使用したスニペットです:

RewriteCond %{HTTPS} off
RewriteCond %{HTTP:X-Forwarded-Proto} !https
RewriteRule ^(.*)$ https://%{HTTP_Host}%{REQUEST_URI} [L,R=301]

https://www.drupal.org/https-information にあるわずかなバリエーションも試してみましたが、同じ満足のいく結果にはなりません。

RewriteCond %{HTTPS} off [OR]
RewriteCond %{HTTP_Host} ^www.domainname\.com*
RewriteRule ^(.*)$ https://domainname.com/$1 [L,R=301]

特定のページに移動する機能を損なうことなく、サイトをすべてhttpsにするにはどうすればよいですか?

追加のために編集:私はSecure Pagesモジュールを持っていますが、それを機能させることができていません。その点についてのアドバイスがあれば、喜んでお受けします。

3
naomisl

htaccess module に興味があるかもしれません:

Htaccessは、設定に基づいてDrupalルートhtaccessファイルを自動生成するモジュールです。

Drupalは、Apache Webサーバーのすべてのhtaccessに適合する1つのサイズを提供しようとしますが、この目標はますます難しくなっています。このモジュールにより、ウェブマスターは特定のオプションを設定できます。

また、このモジュールは、バージョンのアップグレード中に毎回htaccessを手動で変更してDrupalを使用したくないWebマスターを対象としています。

HTTPSを有効にし、.htaccessファイルを生成します。

3
Neograph734
RewriteCond %{HTTPS} !=on
# This checks to make sure the connection is not already HTTPS

RewriteRule ^/?(.*) https://%{SERVER_NAME}/$1 [R,L]
# This rule will redirect users from their original location, to the same location but using HTTPS.
10
rjkunde