あなたのサイトでの HTTPS の有効化
From Joomla! Documentation
|
SSL/TLS とは何ですか?
トランスポート層警備 (TLS) は、セキュア ソケット レイヤー (SSL) の後継ですが、多くの人は今でもこれを SSL と呼んでいます。 インターネットを閲覧している時に、URL の横にロック アイコンが表示されている事にお気づきですか? これは、その ウェブサイトに送信する全てのデータが暗号化されて送信される事を意味します。そのため、ネットワークをハッキングしてリクエストを傍受出来る人物は、データを一切閲覧出来ません。閲覧出来るのは、アクセスしている URL だけです。
TLS を使用する理由
Google(および他のほとんどの検索エンジン)は現在、「https」を使用しているサイトを優先的に扱います。[1]さらに、多くのブラウザは、「https」を使用していないフォーム(ログインフォームやお問い合わせフォームなど)のあるウェブサイトにフラグを付けます。[2]
TLS を設定するにはどうすればよいですか?
証明書を設定する最も簡単な方法は、ホストに設定を依頼する事です。
使用する適切な証明書は、ウェブサイトで必要な警備保護によって異なります。最も安価で簡単なオプションは、「Let's Encrypt」 を使用する事です。これは無料で、ホストによっては、「cPanel」 または 「Plesk」 ホスティング ダッシュボードから直接構成出来る場合がよくあります。
専用 IP と SSL 証明書を購入した場合は、ホストに依頼して署名して貰い、適切な場所にインストールして貰います。
全てのトラフィックを「https」にリダイレクトするにはどうすればいいですか
ジュームラ!の場合
「https」トラフィックを強制する最も簡単な方法は、ジュームラ!内で実行する事です。「グローバル設定」には、「HTTPS を強制」オプションがあり、管理者のみまたはサイト全体で HTTPS を強制出来ます。後者をお勧めします。

「.htaccess」の場合
RewriteEngine on
RewriteCond %{SERVER_PORT} !^443$
RewriteRule .* https://%{HTTP_HOST}%{REQUEST_URI} [QSA,R=301,L]
<IfModule !mod_ssl.c>
Redirect permanent / https://www.yourdomainname.com
</IfModule>
さらに複雑な「.htaccess」の例
URL に「abc/def」または「ghi」が含まれるページで HTTP から HTTPS に切り替えるには、次のようなコードを追加します。
コード:
RewriteCond %{HTTPS} off
RewriteRule ^(abc/def|ghi)(.*)/?$ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,NC,L]
...URL に「home」または「help」が含まれるページで HTTPS から HTTP に切り替えるには、次のようにします。
コード:
RewriteCond %{HTTPS} on
RewriteRule ^(home|help)(.*)/?$ http://%{HTTP_HOST}%{REQUEST_URI} [R=301,NC,L]
特定のフォルダーで SSL を強制する場合は、その特定のフォルダーに配置された「.htaccess」ファイルに以下のコードを挿入します。
コード:
RewriteEngine On
RewriteCond %{REQUEST_URI} folder
RewriteRule ^(.*)$ https://www.example.com/folder/$1 [R,L]
フォルダー参照を実際のフォルダー名に変更して下さい。次に、「www.example.com/folder」を、SSL を強制する実際のドメイン名とフォルダーに置き換えて下さい。