この質問への回答で見つかったスニペットを含めると サイト全体を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モジュールを持っていますが、それを機能させることができていません。その点についてのアドバイスがあれば、喜んでお受けします。
htaccess module に興味があるかもしれません:
Htaccessは、設定に基づいてDrupalルートhtaccessファイルを自動生成するモジュールです。
Drupalは、Apache Webサーバーのすべてのhtaccessに適合する1つのサイズを提供しようとしますが、この目標はますます難しくなっています。このモジュールにより、ウェブマスターは特定のオプションを設定できます。
また、このモジュールは、バージョンのアップグレード中に毎回htaccessを手動で変更してDrupalを使用したくないWebマスターを対象としています。
HTTPSを有効にし、.htaccessファイルを生成します。
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.