.htaccessファイルを編集し、SSL対応を行う方法を紹介します。
本記事は、以下の方向けの記事となっています。
・.htaccessファイルを編集し、SSL対応を行う方法を知りたい方
・.htaccessファイルに実際に記述するコードを知りたい方
はじめに
本記事では、.htaccessファイルを編集し、SSL化対応を行い方を対象に、実際のコードを交えて解説したいと思います。
サイトをSSL化することの重要性
そもそも、サイトをSSL化することは重要です。サイトをSSL化することの重要性については以下の記事を参照ください。
.htaccessファイルを編集し、SSL対応を行う方法
.htaccessファイルを編集し、SSL対応を行う方法は以下の通りです。
.htaccessファイルを編集する
まずは、自サイト(ブログ)内の.htaccessファイルを編集します。
.htaccessファイルは、編集したいサイトのドメイン名のホームディレクトリにあるものを操作します。
エックスサーバー(XSERVER)の場合の.htaccessファイルの操作方法は以下の記事を参照ください。
サイト全体に対するアクセスをすべてhttpからhttpsにリダイレクトさせたい場合
サイト全体に対するアクセスをすべてhttpからhttpsアクセスにさせたい場合は、.htaccessファイル内部に以下のコードを追加します。
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
コードの意味としては、http://ドメイン名経由のアクセスを、すべてhttps://に置き換えて転送する(リダイレクト)するという意味の記述になります。
一部のサイトに対してのみhttpからhttpsにリダイレクトさせたい場合
自身で管理しているサイトすべてがhttpsに対応できていない状態で、httpアクセスの一部のみhttps経由にしたい場合は、.htaccessファイル内部に以下のコードを追加します。
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_URI} ^(httpsにリダイレクトしたいページの相対パス).*$ [OR]
RewriteCond %{REQUEST_URI} ^/form/.*$
RewriteRule ^.*$ https://%{HTTP_HOST}%{REQUEST_URI} [R,L]
コードの意味としては、リダイレクトさせたい相対パスに該当するhttp://ドメイン名アクセスのみ、https://に置き換えて転送する(リダイレクト)するという意味の記述になります。
コードを記述位置の注意点
注意点として、特に、WordPressを使用してサイト(ブログ)を構築している場合、下記のようなコードの記載があると思います。この場合、上記で紹介しているコードは下記の記載より上側にコードを記述しましょう。
# BEGIN WordPress
#ここにいろいろなコードが記載されている
# END WordPress
下記コードより下に上記コードを記載すると、上記コードより下に記載すると、http経由のアクセスをうまくhttpsのサイトにリダイレクトできない可能性があります。
うまくリダイレクトできない条件は以下の通りです。
・トップページ以外にhttp以外でアクセスした場合
・トップページだが、index.phpをサイトアドレスに付与した場合
リダイレクトコード(301)について
今回は、リダイレクトのコード番号として「301」を使用しています。どんな数字でもよいのか?と疑問に思われる方もいると思います。結論から言うと好きな数字を使っていいわけではありません。
これは、「httpステータスコード」と呼ばれるコードが使用されており、コード番号により、条件が決まっています(301の場合はリダイレクトコード)。
「httpステータスコード」について、もう少し詳しく知りたい方は以下の記事を参照ください。
まとめ
本記事で、.htaccessファイルを編集し、SSL対応を行う方法および、実際に使用するコードについて紹介しました。
本記事のおさらいは以下となります。
・.htaccessファイルを編集し、SSL対応を行う方法の紹介
・.htaccessファイルに実際に記述するコードの紹介
コメント