httpからhttpsへのリダイレクトをJavaScriptで実行する
Published
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>
処理の内容は次のようになっている。
- 『window.location.protocol』でプロトコルの情報を取得できる。これを使ってhttpでアクセスしたかを確認する。
- httpでアクセスされていた時、httpsでアクセスするようにリダイレクトする。
JavaScriptのコードの設置場所
httpからhttpsにリダイレクトするJavaScriptのコードの設置場所について。
早めにリダイレクトを実行するため、head要素内に設置する事を勧める。(他のJavaScriptよりも早く実行する事が望ましい)
一応、コード自体はbody要素内に設置した場合も機能する。