今のところ私のドメインwww.example.com
はHTTPSを強制するように設定されていてそれは機能します。このサイトはまた、すべてをHTTPSに正しくリンクしています。 (データベースのどこにもHTTPは発生しません)。
しかし、サブページにアクセスしている場合は、URLを再度HTTPに変更することができます(http://example.com/subpage/
など)。これはHTTPSを強制しません。
私はこの規則を私の.htaccess
のルートに持っています。
RewriteEngine On
RewriteCond %{HTTP_Host} ^example.com [NC]
RewriteCond %{SERVER_PORT} 80
RewriteRule ^(.*)$ https://example.com/$1 [R,L]
どんな考えがこれの原因ですか?
すべてのページをグローバルにHTTPSにリダイレクトするには、次の行を.htaccess
に追加します。
# Globally force SSL.
RewriteCond %{HTTPS} off
RewriteCond %{HTTP:X-Forwarded-Proto} !https
RewriteRule ^(.*)$ https://%{HTTP_Host}%{REQUEST_URI} [L,R=301]
これまでの書き換えがない場合は、これをRewriteEngine on
の直後に配置する必要があります。
このhtaccess
ルールを試してください
RewriteCond %{HTTPS} !=on
RewriteRule ^ https://%{HTTP_Host}%{REQUEST_URI} [L,R=301]