ブログやホームページを制作する際、サイトをSSLで暗号化し、アドレスをhttpsにするのが必須になりつつあります。
以前はSSLにするためにはサーバーとは別でSSLの契約をする必要がありましたが、エックスサーバーなどのブログを始めるのに最適なサーバーでも無料のSSLがつくことが多くなってきています。
ホームページやブログなどの設定に詳しくない初心者の方だとどうやって転送する設定をするのかがわかりずらいのではないかと思います。
今回は.htaccessでhttps化かつwwwあり・なしにそれぞれ統一してリダイレクトする方法をご紹介いたします。
httpsへの転送はどうして必要?
SSLを設定すると
http://〇〇〇〇.comだったものがhttps://〇〇〇〇.comになり、SSLに対応したサイトになります。
しかし、転送の設定をなにもしないとhttp://〇〇〇〇.comとhttps://〇〇〇〇.comの両方にアクセスできる状態になっています。httpとhttps両方にアクセスできる状態だとアクセスが分散してしまうのでhttpsに統一する設定をしておいた方がほうがいいです。
また、wwwありとwwwなしでどちらでも同じサイトを表示することはできるのですが、こちらも転送の設定がしていないと
www.〇〇〇〇.comと〇〇〇〇.comが存在してしまうことになり、これもアクセスが分散することになってしまいます。
なのでベストは
- http://〇〇〇〇.com
http://www.〇〇〇〇.com
https://www.〇〇〇〇.comにアクセスがあった場合
→https://〇〇〇〇.comに転送 - http://〇〇〇〇.com
http://www.〇〇〇〇.com
https://〇〇〇〇.comにアクセスがあった場合
→https://www.〇〇〇〇.comに転送
のどちらかのパターンが好ましいです。
それぞれhttpsへ転送するには、.htaccessに設定するのが簡単な方法です。
.htaccess(エイチティーアクセス)とは
.htaccessとは、Webサーバーの挙動を決定する設定ファイルのことです。
アクセス制限やユーザー認証などを設定することができます。
httpsに転送するには
.htaccessにhttpsへの転送設定をしてルートディレクトリ(トップページがあるディレクトリ)にアップします。
.htaccessのファイル自体はメモ帳などのテキストエディタで制作できます。制作したファイルはFFFTPなどのFTPのソフトを利用してサーバーにアップロードする必要があります。
WordPressなどですでに.htaccessのファイルがルートにある場合はそのファイルをダウンロードして追記していください。
転送の設定書き方にはいろいろな方法がありますがサイトのアドレスを直接書かない方法が便利です。
サイトを複数運営する場合も同じ書き方やファイルで使いまわせるからです。
私は仕事柄よく設定をするのですが基本的に以下の記載を張り付けてアップしています。そのままコピー&ペーストで.htaccessに追加してください。
.htaccessでhttps化かつwwwなしに統一する方法
https://〇〇〇〇.comに転送する方法です。
以下のソースを.htaccessに記載してルートディレクトリにアップロードしてください。
1 2 3 4 5 6 7 |
RewriteEngine on RewriteCond %{HTTP_HOST} ^www\.(.*)$ [NC] RewriteRule ^(.*)$ https://%1/$1 [R=301,L] RewriteCond %{HTTPS} !on RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L] |
.htaccessでhttps化かつwwwありに統一する方法
https://www.〇〇〇〇.comに転送する方法です。
以下のソースを.htaccessに記載してルートディレクトリにアップロードしてください。
1 2 3 4 5 |
RewriteEngine On RewriteCond %{HTTPS} off RewriteRule .* https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301] RewriteCond %{HTTP_HOST} !^www\. [NC] RewriteRule .* https://www.%{HTTP_HOST}%{REQUEST_URI} [L,R=301] |
なぜ、これを記載するとなぜ転送されるかのか?ということは気になるかもしれませんが、初心者の方はとにかく転送できるということが重要だと思うのでこちらだけ記載します。
どういうことがかいてあるかはいずれ記事にするかもしれませんが、調べればわかることだと思いますので気になる方は調べてみてください。
まとめ
.htaccessでhttps化かつwwwあり・なしにそれぞれ統一してリダイレクトする方法をご紹介をご紹介いたしました。
エックスサーバーなど無料でSSLの設定ができるサーバーもたくさんあります。
.htaccessにhttpsへの転送設定をしてファイルをアップしてhttps化しましょう。
最後まで読んでいただきありがとうございました。
コメント