httpsを設定した後、httpへアクセスされた際の対応について調べて書きました

ロリポップのサーバーを使っていますが、https化をするとseo的にいいことがあるらしく、ひとまずhttps化しました。別にセキュリティ云々を語るようなサイトではないので無料のやつでやりましたが、とはいえ、httpの状態でアクセスがあった場合には、https://〜にリダイレクトさせないといけません。

リダイレクトの設定を書いておいたので、メモしておきます。

$_SERVER[“HTTPS”]の有無でリダイレクトさせる

要は、現在のページのurlのフルパスに対して、httpの場合にはhttpsに置き換えるというシンプルな話なので、ページの頭にチェックする処理をいれて、httpの場合はhttpsへリダイレクトさせる。これだけです。

以下、コード

if (empty($_SERVER['HTTPS'])) {
 header("Location: https://" . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI']);
 exit();
}

なんてことはない話ですけど、httpsではない場合には、リダイレクトさせるという話です。$_SERVER[‘HTTP_HOST’]がサイトのドメインで、$_SERVER[‘REQUEST_URI’]が、ドメイン以下のパスをさしてますので、くっつけると現在アクセスしているサイトのURLになりますので、https付きへリダイレクトさせて終わりです。

全ページに対して、これをいれておけば、httpでアクセスしてきても安心ですね。無事にhttps化できてよかったです。

コメント