Laravel で常に https でアクセスさせる
最近、Webサイトに対する攻撃が増えてたり、SPDY がじわじわ普及しているのでこれからの Web サイトは総 https 化するんじゃないかなーと思ってます。
なので、お手元で開発されているアプリケーションもいつでも対応できるようにしておいたほうが後々楽になるんじゃないかと。まぁ .htaccess
でもいいんですが、Laravel だとこんなに楽だよという話をします。
app/filters.php にこんな感じで書きます。
<?php App::before(function($request) { if (!$request->isSecure()) { return Redirect::secure($request->path()); } });
簡単ですね before フィルターで URL のチェックをして http なら https にリダイレクトしてます。このままだとローカルでの開発でも、https にリダイレクトされてめんどくさいので
<?php App::before(function($request) { if (!$request->isSecure() && App::environment() === 'production') { return Redirect::secure($request->path()); } });
enviroment のチェックを入れてやるとよいです。