httpからhttpsへのリダイレクトをJavaScriptで実行する

httpからhttpsへのリダイレクトをJavaScriptで実行する方法について。

SSL/TLSの対応で『.htaccess』などを使ったサーバーサイドのリダイレクトができない場合、JavaScriptを使ってリダイレクトするコードを紹介。

# httpからhttpsへのリダイレクトをJavaScriptで実行する

JavaScriptのコード

httpからhttpsにリダイレクトするJavaScriptのコードは次の通り。

<script>
if( window.location.protocol === "http:" ) {
    window.location.replace( window.location.href.replace( /http:/, "https:" ) );
}
</script>

処理の内容は次のようになっている。

  1. 『window.location.protocol』でプロトコルの情報を取得できる。これを使ってhttpでアクセスしたかを確認する。
  2. httpでアクセスされていた時、httpsでアクセスするようにリダイレクトする。

JavaScriptのコードの設置場所

httpからhttpsにリダイレクトするJavaScriptのコードの設置場所について。

早めにリダイレクトを実行するため、head要素内に設置する事を勧める。(他のJavaScriptよりも早く実行する事が望ましい)

一応、コード自体はbody要素内に設置した場合も機能する。